@@ -27,6 +27,16 @@ static inline void isp_asc_write32(struct apple_isp *isp, u32 reg, u32 val)
2727 writel (val , isp -> asc + reg );
2828}
2929
30+ static inline u32 isp_gpio_read32 (struct apple_isp * isp , u32 reg )
31+ {
32+ return readl (isp -> gpio + reg );
33+ }
34+
35+ static inline void isp_gpio_write32 (struct apple_isp * isp , u32 reg , u32 val )
36+ {
37+ writel (val , isp -> gpio + reg );
38+ }
39+
3040struct isp_firmware_bootargs {
3141 u32 pad_0 [2 ];
3242 u64 ipc_iova ;
@@ -77,8 +87,8 @@ static irqreturn_t apple_isp_isr(int irq, void *dev)
7787{
7888 struct apple_isp * isp = dev ;
7989
80- isp_core_write32 (isp , ISP_CORE_IRQ_ACK ,
81- isp_core_read32 (isp , ISP_CORE_IRQ_INTERRUPT ));
90+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ACK ,
91+ isp_mbox_read32 (isp , ISP_MBOX_IRQ_INTERRUPT ));
8292
8393 wake_up_interruptible_all (& isp -> wait );
8494
@@ -95,9 +105,9 @@ static irqreturn_t apple_isp_isr(int irq, void *dev)
95105
96106static void isp_disable_irq (struct apple_isp * isp )
97107{
98- isp_core_write32 (isp , ISP_CORE_IRQ_ENABLE , 0x0 );
108+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ENABLE , 0x0 );
99109 free_irq (isp -> irq , isp );
100- isp_core_write32 (isp , ISP_CORE_GPIO_1 , 0xfeedbabe ); /* real funny */
110+ isp_gpio_write32 (isp , ISP_GPIO_1 , 0xfeedbabe ); /* real funny */
101111}
102112
103113static int isp_enable_irq (struct apple_isp * isp )
@@ -112,7 +122,7 @@ static int isp_enable_irq(struct apple_isp *isp)
112122
113123 isp_dbg (isp , "about to enable interrupts...\n" );
114124
115- isp_core_write32 (isp , ISP_CORE_IRQ_ENABLE , 0xf );
125+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ENABLE , 0xf );
116126
117127 return 0 ;
118128}
@@ -166,26 +176,26 @@ static int isp_firmware_boot_stage1(struct apple_isp *isp)
166176 if (err < 0 )
167177 return err ;
168178
169- isp_core_write32 (isp , ISP_CORE_CLOCK_EN , 0x1 );
179+ isp_gpio_write32 (isp , ISP_GPIO_CLOCK_EN , 0x1 );
170180
171- isp_core_write32 (isp , ISP_CORE_GPIO_0 , 0x0 );
172- isp_core_write32 (isp , ISP_CORE_GPIO_1 , 0x0 );
173- isp_core_write32 (isp , ISP_CORE_GPIO_2 , 0x0 );
174- isp_core_write32 (isp , ISP_CORE_GPIO_3 , 0x0 );
175- isp_core_write32 (isp , ISP_CORE_GPIO_4 , 0x0 );
176- isp_core_write32 (isp , ISP_CORE_GPIO_5 , 0x0 );
177- isp_core_write32 (isp , ISP_CORE_GPIO_6 , 0x0 );
178- isp_core_write32 (isp , ISP_CORE_GPIO_7 , 0x0 );
181+ isp_gpio_write32 (isp , ISP_GPIO_0 , 0x0 );
182+ isp_gpio_write32 (isp , ISP_GPIO_1 , 0x0 );
183+ isp_gpio_write32 (isp , ISP_GPIO_2 , 0x0 );
184+ isp_gpio_write32 (isp , ISP_GPIO_3 , 0x0 );
185+ isp_gpio_write32 (isp , ISP_GPIO_4 , 0x0 );
186+ isp_gpio_write32 (isp , ISP_GPIO_5 , 0x0 );
187+ isp_gpio_write32 (isp , ISP_GPIO_6 , 0x0 );
188+ isp_gpio_write32 (isp , ISP_GPIO_7 , 0x0 );
179189
180- isp_core_write32 (isp , ISP_CORE_IRQ_ENABLE , 0x0 );
190+ isp_mbox_write32 (isp , ISP_MBOX_IRQ_ENABLE , 0x0 );
181191
182192 isp_asc_write32 (isp , ISP_ASC_CONTROL , 0x0 );
183193 isp_asc_write32 (isp , ISP_ASC_CONTROL , 0x10 );
184194
185- /* Wait for ISP_CORE_GPIO_7 to 0x0 -> 0x8042006 */
186- isp_core_write32 (isp , ISP_CORE_GPIO_7 , 0x0 );
195+ /* Wait for ISP_GPIO_7 to 0x0 -> 0x8042006 */
196+ isp_gpio_write32 (isp , ISP_GPIO_7 , 0x0 );
187197 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
188- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_7 );
198+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_7 );
189199 if (val == 0x8042006 ) {
190200 isp_dbg (isp ,
191201 "got first magic number (0x%x) from firmware\n" ,
@@ -216,9 +226,9 @@ static int isp_firmware_boot_stage2(struct apple_isp *isp)
216226 dma_addr_t args_iova ;
217227 int err , retries ;
218228
219- u32 num_ipc_chans = isp_core_read32 (isp , ISP_CORE_GPIO_0 );
220- u32 args_offset = isp_core_read32 (isp , ISP_CORE_GPIO_1 );
221- u32 extra_size = isp_core_read32 (isp , ISP_CORE_GPIO_3 );
229+ u32 num_ipc_chans = isp_gpio_read32 (isp , ISP_GPIO_0 );
230+ u32 args_offset = isp_gpio_read32 (isp , ISP_GPIO_1 );
231+ u32 extra_size = isp_gpio_read32 (isp , ISP_GPIO_3 );
222232 isp -> num_ipc_chans = num_ipc_chans ;
223233
224234 if (!isp -> num_ipc_chans ) {
@@ -265,14 +275,14 @@ static int isp_firmware_boot_stage2(struct apple_isp *isp)
265275 args .unk9 = 0x3 ;
266276 isp_iowrite (isp , args_iova , & args , sizeof (args ));
267277
268- isp_core_write32 (isp , ISP_CORE_GPIO_0 , args_iova );
269- isp_core_write32 (isp , ISP_CORE_GPIO_1 , 0x0 );
278+ isp_gpio_write32 (isp , ISP_GPIO_0 , args_iova );
279+ isp_gpio_write32 (isp , ISP_GPIO_1 , 0x0 );
270280
271- /* Wait for ISP_CORE_GPIO_7 to 0xf7fbdff9 -> 0x8042006 */
272- isp_core_write32 (isp , ISP_CORE_GPIO_7 , 0xf7fbdff9 );
281+ /* Wait for ISP_GPIO_7 to 0xf7fbdff9 -> 0x8042006 */
282+ isp_gpio_write32 (isp , ISP_GPIO_7 , 0xf7fbdff9 );
273283
274284 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
275- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_7 );
285+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_7 );
276286 if (val == 0x8042006 ) {
277287 isp_dbg (isp ,
278288 "got second magic number (0x%x) from firmware\n" ,
@@ -325,7 +335,7 @@ static void isp_free_channel_info(struct apple_isp *isp)
325335
326336static int isp_fill_channel_info (struct apple_isp * isp )
327337{
328- u32 table_iova = isp_core_read32 (isp , ISP_CORE_GPIO_0 );
338+ u32 table_iova = isp_gpio_read32 (isp , ISP_GPIO_0 );
329339
330340 isp -> ipc_chans = kcalloc (isp -> num_ipc_chans ,
331341 sizeof (struct isp_channel * ), GFP_KERNEL );
@@ -417,11 +427,11 @@ static int isp_firmware_boot_stage3(struct apple_isp *isp)
417427 }
418428 }
419429
420- /* Wait for ISP_CORE_GPIO_3 to 0x8042006 -> 0x0 */
421- isp_core_write32 (isp , ISP_CORE_GPIO_3 , 0x8042006 );
430+ /* Wait for ISP_GPIO_3 to 0x8042006 -> 0x0 */
431+ isp_gpio_write32 (isp , ISP_GPIO_3 , 0x8042006 );
422432
423433 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
424- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_3 );
434+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_3 );
425435 if (val == 0x0 ) {
426436 isp_dbg (isp ,
427437 "got third magic number (0x%x) from firmware\n" ,
@@ -446,14 +456,14 @@ static int isp_stop_command_processor(struct apple_isp *isp)
446456{
447457 int retries ;
448458
449- /* Wait for ISP_CORE_GPIO_0 to 0xf7fbdff9 -> 0x8042006 */
450- isp_core_write32 (isp , ISP_CORE_GPIO_0 , 0xf7fbdff9 );
459+ /* Wait for ISP_GPIO_0 to 0xf7fbdff9 -> 0x8042006 */
460+ isp_gpio_write32 (isp , ISP_GPIO_0 , 0xf7fbdff9 );
451461
452462 /* Their CISP_CMD_STOP implementation is buggy */
453463 isp_cmd_suspend (isp );
454464
455465 for (retries = 0 ; retries < ISP_FIRMWARE_MAX_TRIES ; retries ++ ) {
456- u32 val = isp_core_read32 (isp , ISP_CORE_GPIO_0 );
466+ u32 val = isp_gpio_read32 (isp , ISP_GPIO_0 );
457467 if (val == 0x8042006 ) {
458468 isp_dbg (isp , "got magic number (0x%x) from firmware\n" ,
459469 val );
0 commit comments