@@ -26,6 +26,16 @@ static inline void isp_asc_write32(struct apple_isp *isp, u32 reg, u32 val)
2626 writel (val , isp -> asc + reg );
2727}
2828
29+ static inline u32 isp_gpio_read32 (struct apple_isp * isp , u32 reg )
30+ {
31+ return readl (isp -> gpio + reg );
32+ }
33+
34+ static inline void isp_gpio_write32 (struct apple_isp * isp , u32 reg , u32 val )
35+ {
36+ writel (val , isp -> gpio + reg );
37+ }
38+
2939struct isp_firmware_bootargs {
3040 u32 pad_0 [2 ];
3141 u64 ipc_iova ;
@@ -76,8 +86,8 @@ static irqreturn_t apple_isp_isr(int irq, void *dev)
7686{
7787 struct apple_isp * isp = dev ;
7888
79- isp_core_write32 (isp , ISP_CORE_IRQ_ACK ,
80- isp_core_read32 (isp , ISP_CORE_IRQ_INTERRUPT ));
89+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ACK ,
90+ isp_mbox_read32 (isp , ISP_MBOX_IRQ_INTERRUPT ));
8191
8292 wake_up_interruptible_all (& isp -> wait );
8393
@@ -94,9 +104,9 @@ static irqreturn_t apple_isp_isr(int irq, void *dev)
94104
95105static void isp_disable_irq (struct apple_isp * isp )
96106{
97- isp_core_write32 (isp , ISP_CORE_IRQ_ENABLE , 0x0 );
107+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ENABLE , 0x0 );
98108 free_irq (isp -> irq , isp );
99- isp_core_write32 (isp , ISP_CORE_GPIO_1 , 0xfeedbabe ); /* real funny */
109+ isp_gpio_write32 (isp , ISP_GPIO_1 , 0xfeedbabe ); /* real funny */
100110}
101111
102112static int isp_enable_irq (struct apple_isp * isp )
@@ -111,7 +121,7 @@ static int isp_enable_irq(struct apple_isp *isp)
111121
112122 isp_dbg (isp , "about to enable interrupts...\n" );
113123
114- isp_core_write32 (isp , ISP_CORE_IRQ_ENABLE , 0xf );
124+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ENABLE , 0xf );
115125
116126 return 0 ;
117127}
@@ -165,26 +175,26 @@ static int isp_firmware_boot_stage1(struct apple_isp *isp)
165175 if (err < 0 )
166176 return err ;
167177
168- isp_core_write32 (isp , ISP_CORE_CLOCK_EN , 0x1 );
178+ isp_gpio_write32 (isp , ISP_GPIO_CLOCK_EN , 0x1 );
169179
170- isp_core_write32 (isp , ISP_CORE_GPIO_0 , 0x0 );
171- isp_core_write32 (isp , ISP_CORE_GPIO_1 , 0x0 );
172- isp_core_write32 (isp , ISP_CORE_GPIO_2 , 0x0 );
173- isp_core_write32 (isp , ISP_CORE_GPIO_3 , 0x0 );
174- isp_core_write32 (isp , ISP_CORE_GPIO_4 , 0x0 );
175- isp_core_write32 (isp , ISP_CORE_GPIO_5 , 0x0 );
176- isp_core_write32 (isp , ISP_CORE_GPIO_6 , 0x0 );
177- isp_core_write32 (isp , ISP_CORE_GPIO_7 , 0x0 );
180+ isp_gpio_write32 (isp , ISP_GPIO_0 , 0x0 );
181+ isp_gpio_write32 (isp , ISP_GPIO_1 , 0x0 );
182+ isp_gpio_write32 (isp , ISP_GPIO_2 , 0x0 );
183+ isp_gpio_write32 (isp , ISP_GPIO_3 , 0x0 );
184+ isp_gpio_write32 (isp , ISP_GPIO_4 , 0x0 );
185+ isp_gpio_write32 (isp , ISP_GPIO_5 , 0x0 );
186+ isp_gpio_write32 (isp , ISP_GPIO_6 , 0x0 );
187+ isp_gpio_write32 (isp , ISP_GPIO_7 , 0x0 );
178188
179- isp_core_write32 (isp , ISP_CORE_IRQ_ENABLE , 0x0 );
189+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ENABLE , 0x0 );
180190
181191 isp_asc_write32 (isp , ISP_ASC_CONTROL , 0x0 );
182192 isp_asc_write32 (isp , ISP_ASC_CONTROL , 0x10 );
183193
184- /* Wait for ISP_CORE_GPIO_7 to 0x0 -> 0x8042006 */
185- isp_core_write32 (isp , ISP_CORE_GPIO_7 , 0x0 );
194+ /* Wait for ISP_GPIO_7 to 0x0 -> 0x8042006 */
195+ isp_gpio_write32 (isp , ISP_GPIO_7 , 0x0 );
186196 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
187- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_7 );
197+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_7 );
188198 if (val == 0x8042006 ) {
189199 isp_dbg (isp ,
190200 "got first magic number (0x%x) from firmware\n" ,
@@ -215,9 +225,9 @@ static int isp_firmware_boot_stage2(struct apple_isp *isp)
215225 dma_addr_t args_iova ;
216226 int err , retries ;
217227
218- u32 num_ipc_chans = isp_core_read32 (isp , ISP_CORE_GPIO_0 );
219- u32 args_offset = isp_core_read32 (isp , ISP_CORE_GPIO_1 );
220- u32 extra_size = isp_core_read32 (isp , ISP_CORE_GPIO_3 );
228+ u32 num_ipc_chans = isp_gpio_read32 (isp , ISP_GPIO_0 );
229+ u32 args_offset = isp_gpio_read32 (isp , ISP_GPIO_1 );
230+ u32 extra_size = isp_gpio_read32 (isp , ISP_GPIO_3 );
221231 isp -> num_ipc_chans = num_ipc_chans ;
222232
223233 if (!isp -> num_ipc_chans ) {
@@ -264,14 +274,14 @@ static int isp_firmware_boot_stage2(struct apple_isp *isp)
264274 args .unk9 = 0x3 ;
265275 isp_iowrite (isp , args_iova , & args , sizeof (args ));
266276
267- isp_core_write32 (isp , ISP_CORE_GPIO_0 , args_iova );
268- isp_core_write32 (isp , ISP_CORE_GPIO_1 , 0x0 );
277+ isp_gpio_write32 (isp , ISP_GPIO_0 , args_iova );
278+ isp_gpio_write32 (isp , ISP_GPIO_1 , 0x0 );
269279
270- /* Wait for ISP_CORE_GPIO_7 to 0xf7fbdff9 -> 0x8042006 */
271- isp_core_write32 (isp , ISP_CORE_GPIO_7 , 0xf7fbdff9 );
280+ /* Wait for ISP_GPIO_7 to 0xf7fbdff9 -> 0x8042006 */
281+ isp_gpio_write32 (isp , ISP_GPIO_7 , 0xf7fbdff9 );
272282
273283 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
274- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_7 );
284+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_7 );
275285 if (val == 0x8042006 ) {
276286 isp_dbg (isp ,
277287 "got second magic number (0x%x) from firmware\n" ,
@@ -324,7 +334,7 @@ static void isp_free_channel_info(struct apple_isp *isp)
324334
325335static int isp_fill_channel_info (struct apple_isp * isp )
326336{
327- u32 table_iova = isp_core_read32 (isp , ISP_CORE_GPIO_0 );
337+ u32 table_iova = isp_gpio_read32 (isp , ISP_GPIO_0 );
328338
329339 isp -> ipc_chans = kcalloc (isp -> num_ipc_chans ,
330340 sizeof (struct isp_channel * ), GFP_KERNEL );
@@ -416,11 +426,11 @@ static int isp_firmware_boot_stage3(struct apple_isp *isp)
416426 }
417427 }
418428
419- /* Wait for ISP_CORE_GPIO_3 to 0x8042006 -> 0x0 */
420- isp_core_write32 (isp , ISP_CORE_GPIO_3 , 0x8042006 );
429+ /* Wait for ISP_GPIO_3 to 0x8042006 -> 0x0 */
430+ isp_gpio_write32 (isp , ISP_GPIO_3 , 0x8042006 );
421431
422432 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
423- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_3 );
433+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_3 );
424434 if (val == 0x0 ) {
425435 isp_dbg (isp ,
426436 "got third magic number (0x%x) from firmware\n" ,
@@ -445,14 +455,14 @@ static int isp_stop_command_processor(struct apple_isp *isp)
445455{
446456 int retries ;
447457
448- /* Wait for ISP_CORE_GPIO_0 to 0xf7fbdff9 -> 0x8042006 */
449- isp_core_write32 (isp , ISP_CORE_GPIO_0 , 0xf7fbdff9 );
458+ /* Wait for ISP_GPIO_0 to 0xf7fbdff9 -> 0x8042006 */
459+ isp_gpio_write32 (isp , ISP_GPIO_0 , 0xf7fbdff9 );
450460
451461 /* Their CISP_CMD_STOP implementation is buggy */
452462 isp_cmd_suspend (isp );
453463
454464 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
455- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_0 );
465+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_0 );
456466 if (val == 0x8042006 ) {
457467 isp_dbg (isp , "got magic number (0x%x) from firmware\n" ,
458468 val );
0 commit comments