ARM: bcm283x: Allocate all mailbox buffers cacheline aligned
The mailbox buffer is required to be at least 16 bytes aligned, but for cache invalidation and/or flush it needs to be cacheline aligned. Use ALLOC_CACHE_ALIGN_BUFFER for all mailbox buffer allocations. Signed-off-by: Alexander Stein <alexanders83@web.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
This commit is contained in:
parent
060f9bf57b
commit
927753aeb9
@ -182,7 +182,7 @@ u32 rpi_board_rev = 0;
|
||||
|
||||
int dram_init(void)
|
||||
{
|
||||
ALLOC_ALIGN_BUFFER(struct msg_get_arm_mem, msg, 1, 16);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_arm_mem, msg, 1);
|
||||
int ret;
|
||||
|
||||
BCM2835_MBOX_INIT_HDR(msg);
|
||||
@ -212,7 +212,7 @@ static void set_fdtfile(void)
|
||||
|
||||
static void set_usbethaddr(void)
|
||||
{
|
||||
ALLOC_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1, 16);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_mac_address, msg, 1);
|
||||
int ret;
|
||||
|
||||
if (!models[rpi_board_rev].has_onboard_eth)
|
||||
@ -245,7 +245,7 @@ int misc_init_r(void)
|
||||
|
||||
static int power_on_module(u32 module)
|
||||
{
|
||||
ALLOC_ALIGN_BUFFER(struct msg_set_power_state, msg_pwr, 1, 16);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_set_power_state, msg_pwr, 1);
|
||||
int ret;
|
||||
|
||||
BCM2835_MBOX_INIT_HDR(msg_pwr);
|
||||
@ -269,7 +269,7 @@ static int power_on_module(u32 module)
|
||||
|
||||
static void get_board_rev(void)
|
||||
{
|
||||
ALLOC_ALIGN_BUFFER(struct msg_get_board_rev, msg, 1, 16);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_board_rev, msg, 1);
|
||||
int ret;
|
||||
const char *name;
|
||||
|
||||
@ -324,7 +324,7 @@ int board_init(void)
|
||||
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
ALLOC_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1, 16);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1);
|
||||
int ret;
|
||||
|
||||
power_on_module(BCM2835_MBOX_POWER_DEVID_SDHCI);
|
||||
|
@ -38,8 +38,8 @@ struct msg_setup {
|
||||
|
||||
void lcd_ctrl_init(void *lcdbase)
|
||||
{
|
||||
ALLOC_ALIGN_BUFFER(struct msg_query, msg_query, 1, 16);
|
||||
ALLOC_ALIGN_BUFFER(struct msg_setup, msg_setup, 1, 16);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_query, msg_query, 1);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_setup, msg_setup, 1);
|
||||
int ret;
|
||||
u32 w, h;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user