Re: linux-next: manual merge of the phy-next tree with the phy tree

Vinod Koul
2025-05-15T10:38:15Z

On 15-05-25, 09:11, Prabhakar Mahadev Lad wrote:
> Hi Stephen,

Pls do not top post

>
> Thanks for the report and fixing the conflict.
>
> @Vinod, shall a rebase my patches and send a new version?

NO, once a patch is picked, it there. We have a way to resolve the
conflicts. Nothing required from you

Thanks

>
> Cheers,
> Prabhakar
>
> > -----Original Message-----
> > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > Sent: 15 May 2025 08:09
> > To: Kishon Vijay Abraham I <kishon@kernel.org>; Vinod Koul
> > <vkoul@kernel.org>
> > Cc: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>; Prabhakar Mahadev
> > Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>; Linux Kernel Mailing List
> > <linux-kernel@vger.kernel.org>; Linux Next Mailing List <linux-
> > next@vger.kernel.org>
> > Subject: linux-next: manual merge of the phy-next tree with the phy tree
> >
> > Hi all,
> >
> > Today's linux-next merge of the phy-next tree got a conflict in:
> >
> > drivers/phy/renesas/phy-rcar-gen3-usb2.c
> >
> > between commits:
> >
> > 54c4c58713aa ("phy: renesas: rcar-gen3-usb2: Fix role detection on
> > unbind/bind")
> > 55a387ebb921 ("phy: renesas: rcar-gen3-usb2: Lock around hardware
> > registers and driver data")
> >
> > from the phy tree and commit:
> >
> > 3767474d7497 ("phy: renesas: phy-rcar-gen3-usb2: Add USB2.0 PHY support
> > for RZ/V2H(P)")
> >
> > from the phy-next tree.
> >
> > I fixed it up (see below) and can carry the fix as necessary. This is now
> > fixed as far as linux-next is concerned, but any non trivial conflicts
> > should be mentioned to your upstream maintainer when your tree is
> > submitted for merging. You may also want to consider cooperating with the
> > maintainer of the conflicting tree to minimise any particularly complex
> > conflicts.
> >
> > --
> > Cheers,
> > Stephen Rothwell
> >
> > diff --cc drivers/phy/renesas/phy-rcar-gen3-usb2.c
> > index 9fdf17e0848a,867f43132b7a..000000000000
> > --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> > +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c
> > @@@ -467,16 -472,24 +477,24 @@@ static int rcar_gen3_phy_usb2_init(stru
> > val = readl(usb2_base + USB2_INT_ENABLE);
> > val |= USB2_INT_ENABLE_UCOM_INTEN | rphy->int_enable_bits;
> > writel(val, usb2_base + USB2_INT_ENABLE);
> > - writel(USB2_SPD_RSM_TIMSET_INIT, usb2_base + USB2_SPD_RSM_TIMSET);
> > - writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET);
> >
> > - /* Initialize otg part */
> > - if (channel->is_otg_channel) {
> > - if (rcar_gen3_needs_init_otg(channel))
> > - rcar_gen3_init_otg(channel);
> > - rphy->otg_initialized = true;
> > + if (!rcar_gen3_is_any_rphy_initialized(channel)) {
> > + writel(USB2_SPD_RSM_TIMSET_INIT, usb2_base +
> > USB2_SPD_RSM_TIMSET);
> > + writel(USB2_OC_TIMSET_INIT, usb2_base + USB2_OC_TIMSET);
> > }
> >
> > + /* Initialize otg part (only if we initialize a PHY with IRQs). */
> > + if (rphy->int_enable_bits)
> > + rcar_gen3_init_otg(channel);
> > +
> > + if (channel->utmi_ctrl) {
> > + val = readl(usb2_base + USB2_REGEN_CG_CTRL) |
> > USB2_REGEN_CG_CTRL_UPHY_WEN;
> > + writel(val, usb2_base + USB2_REGEN_CG_CTRL);
> > +
> > + writel(USB2_UTMI_CTRL_INIT, usb2_base + USB2_UTMI_CTRL);
> > + writel(val & ~USB2_REGEN_CG_CTRL_UPHY_WEN, usb2_base +
> > USB2_REGEN_CG_CTRL);
> > + }
> > +
> > rphy->initialized = true;
> >
> > return 0;
> > @@@ -764,7 -791,9 +792,9 @@@ static int rcar_gen3_phy_usb2_probe(str
> > if (phy_data->no_adp_ctrl)
> > channel->obint_enable_bits = USB2_OBINT_IDCHG_EN;
> >
> > + channel->utmi_ctrl = phy_data->utmi_ctrl;
> > +
> > - mutex_init(&channel->lock);
> > + spin_lock_init(&channel->lock);
> > for (i = 0; i < NUM_OF_PHYS; i++) {
> > channel->rphys[i].phy = devm_phy_create(dev, NULL,
> > phy_data->phy_usb2_ops);

--
~Vinod