@@ -147,17 +147,6 @@ static void mtu3_device_reset(struct mtu3 *mtu)
147
147
mtu3_clrbits (ibase , U3D_SSUSB_DEV_RST_CTRL , SSUSB_DEV_SW_RST );
148
148
}
149
149
150
- /* disable all interrupts */
151
- static void mtu3_intr_disable (struct mtu3 * mtu )
152
- {
153
- void __iomem * mbase = mtu -> mac_base ;
154
-
155
- /* Disable level 1 interrupts */
156
- mtu3_writel (mbase , U3D_LV1IECR , ~0x0 );
157
- /* Disable endpoint interrupts */
158
- mtu3_writel (mbase , U3D_EPIECR , ~0x0 );
159
- }
160
-
161
150
static void mtu3_intr_status_clear (struct mtu3 * mtu )
162
151
{
163
152
void __iomem * mbase = mtu -> mac_base ;
@@ -170,6 +159,18 @@ static void mtu3_intr_status_clear(struct mtu3 *mtu)
170
159
mtu3_writel (mbase , U3D_LTSSM_INTR , ~0x0 );
171
160
/* Clear speed change interrupt status */
172
161
mtu3_writel (mbase , U3D_DEV_LINK_INTR , ~0x0 );
162
+ /* Clear QMU interrupt status */
163
+ mtu3_writel (mbase , U3D_QISAR0 , ~0x0 );
164
+ }
165
+
166
+ /* disable all interrupts */
167
+ static void mtu3_intr_disable (struct mtu3 * mtu )
168
+ {
169
+ /* Disable level 1 interrupts */
170
+ mtu3_writel (mtu -> mac_base , U3D_LV1IECR , ~0x0 );
171
+ /* Disable endpoint interrupts */
172
+ mtu3_writel (mtu -> mac_base , U3D_EPIECR , ~0x0 );
173
+ mtu3_intr_status_clear (mtu );
173
174
}
174
175
175
176
/* enable system global interrupt */
@@ -312,7 +313,6 @@ void mtu3_stop(struct mtu3 *mtu)
312
313
dev_dbg (mtu -> dev , "%s\n" , __func__ );
313
314
314
315
mtu3_intr_disable (mtu );
315
- mtu3_intr_status_clear (mtu );
316
316
317
317
if (mtu -> softconnect )
318
318
mtu3_dev_on_off (mtu , 0 );
@@ -600,7 +600,6 @@ static void mtu3_regs_init(struct mtu3 *mtu)
600
600
601
601
/* be sure interrupts are disabled before registration of ISR */
602
602
mtu3_intr_disable (mtu );
603
- mtu3_intr_status_clear (mtu );
604
603
605
604
mtu3_csr_init (mtu );
606
605
0 commit comments