Re: usb: phy: tegra: Program new PHY parameters

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 04, 2014 at 05:10:02PM +0300, Dan Carpenter wrote:
> Hello Tuomas Tynkkynen,
> 
> The patch e497a24d8e18: "usb: phy: tegra: Program new PHY parameters"
> from Aug 12, 2013, leads to the following static checker warning:
> 
> 	drivers/usb/phy/phy-tegra-usb.c:460 utmi_phy_power_on()
> 	warn: 0x1fc is larger than 8 bits
> 
> drivers/usb/phy/phy-tegra-usb.c
>    101  #define   UTMIP_XCVR_HSSLEW(x)                  (((x) & 0x3) << 4)
>    102  #define   UTMIP_XCVR_HSSLEW_MSB(x)              ((((x) & 0x1fc) >> 2) << 25)
> 
> [snip]
> 
>    455          val |= UTMIP_XCVR_LSRSLEW(config->xcvr_lsrslew);
>    456  
>    457          if (phy->soc_config->requires_extra_tuning_parameters) {
>    458                  val &= ~(UTMIP_XCVR_HSSLEW(~0) | UTMIP_XCVR_HSSLEW_MSB(~0));

Btw, the only place where this matters is right here.  We end up masking
out a bit which we had not intended.  The extra '1' doesn't make a
difference to the line below which generated the static checker warning.

regards,
dan carpenter

>    459                  val |= UTMIP_XCVR_HSSLEW(config->xcvr_hsslew);
>    460                  val |= UTMIP_XCVR_HSSLEW_MSB(config->xcvr_hsslew);
>                                                      ^^^^^^^^^^^^^^^^^^^
> This is a u8 so it can only go up to 0xff and not 0x1fc.  Also 0xfc and
> 0x03 are symetric so I think 0xfc was probably intended?
> 
> But I don't know the hardware at all, this is pure guess work.
> 
>    461          }
>    462          writel(val, base + UTMIP_XCVR_CFG0);
> 
> regards,
> dan carpenter
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux