Message ID | 1513146460-20326-3-git-send-email-yoshihiro.shimoda.uh@renesas.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Hello! On 12/13/2017 9:27 AM, Yoshihiro Shimoda wrote: > This patch unifies the OBINTEN handling to clean-up the code. > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > --- > drivers/phy/renesas/phy-rcar-gen3-usb2.c | 23 +++++++++++++++-------- > 1 file changed, 15 insertions(+), 8 deletions(-) > > diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c > index c22d65a..beeaa30 100644 > --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c > +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c > @@ -147,6 +147,18 @@ static void rcar_gen3_enable_vbus_ctrl(struct rcar_gen3_chan *ch, int vbus) > writel(val, usb2_base + USB2_ADPCTRL); > } > > +static void rcar_gen3_enable_otg_irq(struct rcar_gen3_chan *ch, int enable) If it both enables and disables, rcar_gen3_control_otg_irq() would seem a better name... > +{ > + void __iomem *usb2_base = ch->base; > + u32 val = readl(usb2_base + USB2_OBINTEN); > + > + if (enable) > + val |= USB2_OBINT_BITS; > + else > + val &= ~USB2_OBINT_BITS; > + writel(val, usb2_base + USB2_OBINTEN); > +} > + > static void rcar_gen3_init_for_host(struct rcar_gen3_chan *ch) > { > rcar_gen3_set_linectrl(ch, 1, 1); [...] MBR, Sergei
Hello! > From: Sergei Shtylyov, Sent: Wednesday, December 13, 2017 6:10 PM > > Hello! > > On 12/13/2017 9:27 AM, Yoshihiro Shimoda wrote: > > > This patch unifies the OBINTEN handling to clean-up the code. > > > > Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> > > --- > > drivers/phy/renesas/phy-rcar-gen3-usb2.c | 23 +++++++++++++++-------- > > 1 file changed, 15 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c > > index c22d65a..beeaa30 100644 > > --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c > > +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c > > @@ -147,6 +147,18 @@ static void rcar_gen3_enable_vbus_ctrl(struct rcar_gen3_chan *ch, int vbus) > > writel(val, usb2_base + USB2_ADPCTRL); > > } > > > > +static void rcar_gen3_enable_otg_irq(struct rcar_gen3_chan *ch, int enable) > > If it both enables and disables, rcar_gen3_control_otg_irq() would seem a > better name... Thank you for the comment! I think so. So, I'll change the name in v2. I'll also change the names of "enable_vbus_ctrl" and members of rcar_gen3_role_swap_ops in the patch 4 Best regards, Yoshihiro Shimoda > > +{ > > + void __iomem *usb2_base = ch->base; > > + u32 val = readl(usb2_base + USB2_OBINTEN); > > + > > + if (enable) > > + val |= USB2_OBINT_BITS; > > + else > > + val &= ~USB2_OBINT_BITS; > > + writel(val, usb2_base + USB2_OBINTEN); > > +} > > + > > static void rcar_gen3_init_for_host(struct rcar_gen3_chan *ch) > > { > > rcar_gen3_set_linectrl(ch, 1, 1); > [...] > > MBR, Sergei
diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c index c22d65a..beeaa30 100644 --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c @@ -147,6 +147,18 @@ static void rcar_gen3_enable_vbus_ctrl(struct rcar_gen3_chan *ch, int vbus) writel(val, usb2_base + USB2_ADPCTRL); } +static void rcar_gen3_enable_otg_irq(struct rcar_gen3_chan *ch, int enable) +{ + void __iomem *usb2_base = ch->base; + u32 val = readl(usb2_base + USB2_OBINTEN); + + if (enable) + val |= USB2_OBINT_BITS; + else + val &= ~USB2_OBINT_BITS; + writel(val, usb2_base + USB2_OBINTEN); +} + static void rcar_gen3_init_for_host(struct rcar_gen3_chan *ch) { rcar_gen3_set_linectrl(ch, 1, 1); @@ -192,16 +204,12 @@ static void rcar_gen3_init_for_a_peri(struct rcar_gen3_chan *ch) static void rcar_gen3_init_from_a_peri_to_a_host(struct rcar_gen3_chan *ch) { - void __iomem *usb2_base = ch->base; - u32 val; - - val = readl(usb2_base + USB2_OBINTEN); - writel(val & ~USB2_OBINT_BITS, usb2_base + USB2_OBINTEN); + rcar_gen3_enable_otg_irq(ch, 0); rcar_gen3_enable_vbus_ctrl(ch, 0); rcar_gen3_init_for_host(ch); - writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN); + rcar_gen3_enable_otg_irq(ch, 1); } static bool rcar_gen3_check_id(struct rcar_gen3_chan *ch) @@ -291,8 +299,7 @@ static void rcar_gen3_init_otg(struct rcar_gen3_chan *ch) val = readl(usb2_base + USB2_VBCTRL); writel(val | USB2_VBCTRL_DRVVBUSSEL, usb2_base + USB2_VBCTRL); writel(USB2_OBINT_BITS, usb2_base + USB2_OBINTSTA); - val = readl(usb2_base + USB2_OBINTEN); - writel(val | USB2_OBINT_BITS, usb2_base + USB2_OBINTEN); + rcar_gen3_enable_otg_irq(ch, 1); val = readl(usb2_base + USB2_ADPCTRL); writel(val | USB2_ADPCTRL_IDPULLUP, usb2_base + USB2_ADPCTRL); val = readl(usb2_base + USB2_LINECTRL1);
This patch unifies the OBINTEN handling to clean-up the code. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> --- drivers/phy/renesas/phy-rcar-gen3-usb2.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-)