diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2011-10-11 07:01:15 +0200 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2011-10-13 19:41:37 +0200 |
commit | 651f5e49dd3d369711bd622f4bc72c2fa30a3cf9 (patch) | |
tree | 40cc503c7aa52bf6f392fa82a2c7539305629865 /drivers/usb/renesas_usbhs/mod.c | |
parent | usb: gadget: renesas_usbhs: struct usbhs_pipe hold handler (diff) | |
download | linux-651f5e49dd3d369711bd622f4bc72c2fa30a3cf9.tar.xz linux-651f5e49dd3d369711bd622f4bc72c2fa30a3cf9.zip |
usb: gadget: renesas_usbhs: tidyup INTENB0 method
This patch tidyup Interrupt Enable Register 0 (INTENB0)
which has relationship with picky BEMPENB/BRDYENB.
- add explain comment
- ignore nonsense 0 write case
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/renesas_usbhs/mod.c')
-rw-r--r-- | drivers/usb/renesas_usbhs/mod.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/usb/renesas_usbhs/mod.c b/drivers/usb/renesas_usbhs/mod.c index 621f6cc50db6..74ef49e7dd5f 100644 --- a/drivers/usb/renesas_usbhs/mod.c +++ b/drivers/usb/renesas_usbhs/mod.c @@ -292,6 +292,14 @@ void usbhs_irq_callback_update(struct usbhs_priv *priv, struct usbhs_mod *mod) u16 intenb0 = 0; struct usbhs_mod_info *info = usbhs_priv_to_modinfo(priv); + /* + * BEMPENB/BRDYENB are picky. + * below method is required + * + * - clear INTSTS0 + * - update BEMPENB/BRDYENB + * - update INTSTS0 + */ usbhs_write(priv, INTENB0, 0); usbhs_write(priv, BEMPENB, 0); @@ -324,5 +332,6 @@ void usbhs_irq_callback_update(struct usbhs_priv *priv, struct usbhs_mod *mod) } } - usbhs_write(priv, INTENB0, intenb0); + if (intenb0) + usbhs_write(priv, INTENB0, intenb0); } |