Re: [PATCH 4.4 038/134] ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss

From: Dan Rue
Date: Tue Mar 20 2018 - 02:06:40 EST


On Tue, Mar 20, 2018 at 07:08:36AM +0200, Tero Kristo wrote:
> On 20/03/18 01:52, Dan Rue wrote:
> > On Mon, Mar 19, 2018 at 07:05:21PM +0100, Greg Kroah-Hartman wrote:
> > > 4.4-stable review patch. If anyone has any objections, please let me know.
> > >
> > > ------------------
> > >
> > > From: Roger Quadros <rogerq@xxxxxx>
> > >
> > >
> > > [ Upstream commit e2d54fe76997301b49311bde7ba8ef52b47896f9 ]
> > >
> > > It seems that if L3_INIT clkdomain is kept in HW_AUTO while usb_otg_ss
> > > is in use then there are random chances that the usb_otg_ss module
> > > will fail to completely idle. i.e. IDLEST = 0x2 instead of 0x3.
> > >
> > > Preventing L3_INIT from HW_AUTO while usb_otg_ss module is in use
> > > fixes this issue.
> > >
> > > We don't know yet if usb_otg_ss instances 3 and 4 are affected by this
> > > issue or not so don't add this flag for those instances.
> > >
> > > Cc: Tero Kristo <t-kristo@xxxxxx>
> > > Signed-off-by: Roger Quadros <rogerq@xxxxxx>
> > > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> > > Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxxxx>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> >
> > This fails to build for me on arm32 with default config.
> >
> > #
> > # make -j10 -k -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=build-arm multi_v7_defconfig
> > #
> > #
> > # make -j10 -k -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=build-arm
> > #
> > ../arch/arm/mach-omap2/omap_hwmod_7xx_data.c:2243:12: error: 'HWMOD_CLKDM_NOAUTO' undeclared here (not in a function)
> > .flags = HWMOD_CLKDM_NOAUTO,
> > ^
> > ../scripts/Makefile.build:269: recipe for target 'arch/arm/mach-omap2/omap_hwmod_7xx_data.o' failed
> > make[2]: *** [arch/arm/mach-omap2/omap_hwmod_7xx_data.o] Error 1
> > make[2]: Target '__build' not remade because of errors.
> > /home/buildslave/workspace/kernel-single-defconfig-builder/defconfig/multi_v7_defconfig/label/builder/Makefile:969: recipe for target 'arch/arm/mach-omap2' failed
> > make[1]: *** [arch/arm/mach-omap2] Error 2
> > make[1]: Target '_all' not remade because of errors.
> > Makefile:152: recipe for target 'sub-make' failed
> > make: *** [sub-make] Error 2
> > make: Target '_all' not remade because of errors.
>
> This again has some dependencies, at least:
>
> 8ff42da41147 ("ARM: OMAP2+ hwmod: Allow modules to disable HW_AUTO")

Thank you - I can confirm that adding 8ff42da41147 fixes the arm32 build
for me.

>
> -Tero
>
> >
> > Dan
> >
> > > ---
> > > arch/arm/mach-omap2/omap_hwmod_7xx_data.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > --- a/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
> > > +++ b/arch/arm/mach-omap2/omap_hwmod_7xx_data.c
> > > @@ -2240,6 +2240,7 @@ static struct omap_hwmod dra7xx_usb_otg_
> > > .class = &dra7xx_usb_otg_ss_hwmod_class,
> > > .clkdm_name = "l3init_clkdm",
> > > .main_clk = "dpll_core_h13x2_ck",
> > > + .flags = HWMOD_CLKDM_NOAUTO,
> > > .prcm = {
> > > .omap4 = {
> > > .clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS1_CLKCTRL_OFFSET,
> > > @@ -2261,6 +2262,7 @@ static struct omap_hwmod dra7xx_usb_otg_
> > > .class = &dra7xx_usb_otg_ss_hwmod_class,
> > > .clkdm_name = "l3init_clkdm",
> > > .main_clk = "dpll_core_h13x2_ck",
> > > + .flags = HWMOD_CLKDM_NOAUTO,
> > > .prcm = {
> > > .omap4 = {
> > > .clkctrl_offs = DRA7XX_CM_L3INIT_USB_OTG_SS2_CLKCTRL_OFFSET,
> > >
> > >
>
> --
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki