* [PATCH 0/2] usb: host: ehci-platform: add ignore-oc DT support @ 2021-02-23 15:50 Álvaro Fernández Rojas 2021-02-23 15:50 ` [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas ` (3 more replies) 0 siblings, 4 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 15:50 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Álvaro Fernández Rojas (2): dt-bindings: usb: generic-ehci: document ignore-oc flag usb: host: ehci-platform: add ignore-oc DT support Documentation/devicetree/bindings/usb/generic-ehci.yaml | 5 +++++ drivers/usb/host/ehci-platform.c | 3 +++ 2 files changed, 8 insertions(+) -- 2.20.1 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag 2021-02-23 15:50 [PATCH 0/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas @ 2021-02-23 15:50 ` Álvaro Fernández Rojas 2021-02-23 15:54 ` Alan Stern 2021-02-23 15:50 ` [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas ` (2 subsequent siblings) 3 siblings, 1 reply; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 15:50 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> --- Documentation/devicetree/bindings/usb/generic-ehci.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml index cf83f2d9afac..294bbf02399e 100644 --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml @@ -117,6 +117,11 @@ properties: Set this flag if EHCI has a Transaction Translator built into the root hub. + ignore-oc: + $ref: /schemas/types.yaml#/definitions/flag + description: + Set this flag for HCDs without over-current reporting support. + needs-reset-on-resume: $ref: /schemas/types.yaml#/definitions/flag description: -- 2.20.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag 2021-02-23 15:50 ` [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas @ 2021-02-23 15:54 ` Alan Stern 2021-02-23 16:04 ` Álvaro Fernández Rojas 0 siblings, 1 reply; 18+ messages in thread From: Alan Stern @ 2021-02-23 15:54 UTC (permalink / raw) To: Álvaro Fernández Rojas Cc: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel On Tue, Feb 23, 2021 at 04:50:04PM +0100, Álvaro Fernández Rojas wrote: > Over-current reporting isn't supported on some platforms such as bcm63xx. > These devices will incorrectly report over-current if this flag isn't properly > activated. > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > --- > Documentation/devicetree/bindings/usb/generic-ehci.yaml | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml > index cf83f2d9afac..294bbf02399e 100644 > --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml > +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml > @@ -117,6 +117,11 @@ properties: > Set this flag if EHCI has a Transaction Translator built into > the root hub. > > + ignore-oc: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + Set this flag for HCDs without over-current reporting support. This is not a good description of a device property. DT entries are supposed to described the hardware, not talk about how to use it. When you say that the bcm63xx doesn't support over-current reporting, what exactly do you mean? Do you mean that sometimes the hardware turns on the over-current bit when an over-current isn't actually present? Or do you mean something else? Alan Stern > + > needs-reset-on-resume: > $ref: /schemas/types.yaml#/definitions/flag > description: > -- > 2.20.1 > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag 2021-02-23 15:54 ` Alan Stern @ 2021-02-23 16:04 ` Álvaro Fernández Rojas 2021-02-23 16:09 ` Alan Stern 0 siblings, 1 reply; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 16:04 UTC (permalink / raw) To: Alan Stern Cc: Florian Fainelli, Jonas Gorski, Greg Kroah-Hartman, Rob Herring, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Hi Alan, > El 23 feb 2021, a las 16:54, Alan Stern <stern@rowland.harvard.edu> escribió: > > On Tue, Feb 23, 2021 at 04:50:04PM +0100, Álvaro Fernández Rojas wrote: >> Over-current reporting isn't supported on some platforms such as bcm63xx. >> These devices will incorrectly report over-current if this flag isn't properly >> activated. >> >> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> >> --- >> Documentation/devicetree/bindings/usb/generic-ehci.yaml | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml >> index cf83f2d9afac..294bbf02399e 100644 >> --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml >> +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml >> @@ -117,6 +117,11 @@ properties: >> Set this flag if EHCI has a Transaction Translator built into >> the root hub. >> >> + ignore-oc: >> + $ref: /schemas/types.yaml#/definitions/flag >> + description: >> + Set this flag for HCDs without over-current reporting support. > > This is not a good description of a device property. DT entries are > supposed to described the hardware, not talk about how to use it. Any suggestions on a proper description? > > When you say that the bcm63xx doesn't support over-current reporting, > what exactly do you mean? Do you mean that sometimes the hardware turns > on the over-current bit when an over-current isn't actually present? Or > do you mean something else? Yes, the hardware turns on the over-current bit with no over-current present. > > Alan Stern > >> + >> needs-reset-on-resume: >> $ref: /schemas/types.yaml#/definitions/flag >> description: >> -- >> 2.20.1 Best regards, Álvaro. ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag 2021-02-23 16:04 ` Álvaro Fernández Rojas @ 2021-02-23 16:09 ` Alan Stern 0 siblings, 0 replies; 18+ messages in thread From: Alan Stern @ 2021-02-23 16:09 UTC (permalink / raw) To: Álvaro Fernández Rojas Cc: Florian Fainelli, Jonas Gorski, Greg Kroah-Hartman, Rob Herring, devicetree, linux-kernel, linux-arm-kernel On Tue, Feb 23, 2021 at 05:04:57PM +0100, Álvaro Fernández Rojas wrote: > Hi Alan, > > > El 23 feb 2021, a las 16:54, Alan Stern <stern@rowland.harvard.edu> escribió: > > > > On Tue, Feb 23, 2021 at 04:50:04PM +0100, Álvaro Fernández Rojas wrote: > >> Over-current reporting isn't supported on some platforms such as bcm63xx. > >> These devices will incorrectly report over-current if this flag isn't properly > >> activated. > >> > >> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > >> --- > >> Documentation/devicetree/bindings/usb/generic-ehci.yaml | 5 +++++ > >> 1 file changed, 5 insertions(+) > >> > >> diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml > >> index cf83f2d9afac..294bbf02399e 100644 > >> --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml > >> +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml > >> @@ -117,6 +117,11 @@ properties: > >> Set this flag if EHCI has a Transaction Translator built into > >> the root hub. > >> > >> + ignore-oc: > >> + $ref: /schemas/types.yaml#/definitions/flag > >> + description: > >> + Set this flag for HCDs without over-current reporting support. > > > > This is not a good description of a device property. DT entries are > > supposed to described the hardware, not talk about how to use it. > > Any suggestions on a proper description? > > > > > When you say that the bcm63xx doesn't support over-current reporting, > > what exactly do you mean? Do you mean that sometimes the hardware turns > > on the over-current bit when an over-current isn't actually present? Or > > do you mean something else? > > Yes, the hardware turns on the over-current bit with no over-current present. Okay, in that case the property should be named something like "spurious_oc", and the description should say something like: Set this flag to indicate that the hardware sometimes turns on the OC bit when an over-current isn't actually present. Alan Stern ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support 2021-02-23 15:50 [PATCH 0/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas 2021-02-23 15:50 ` [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas @ 2021-02-23 15:50 ` Álvaro Fernández Rojas 2021-02-23 17:37 ` kernel test robot 2021-02-23 19:22 ` kernel test robot 2021-02-23 16:16 ` [PATCH v2 0/2] " Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 0/3] usb: host: ehci-platform: add spurious-oc support Álvaro Fernández Rojas 3 siblings, 2 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 15:50 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> --- drivers/usb/host/ehci-platform.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index a48dd3fac153..f8e58372f7fe 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -286,6 +286,9 @@ static int ehci_platform_probe(struct platform_device *dev) if (of_property_read_bool(dev->dev.of_node, "big-endian")) ehci->big_endian_mmio = ehci->big_endian_desc = 1; + if (of_property_read_bool(dev->dev.of_node, "ignore-oc")) + ehci->ignore_oc = 1; + if (of_property_read_bool(dev->dev.of_node, "needs-reset-on-resume")) priv->reset_on_resume = true; -- 2.20.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support 2021-02-23 15:50 ` [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas @ 2021-02-23 17:37 ` kernel test robot 2021-02-23 19:22 ` kernel test robot 1 sibling, 0 replies; 18+ messages in thread From: kernel test robot @ 2021-02-23 17:37 UTC (permalink / raw) To: Álvaro Fernández Rojas, f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: kbuild-all [-- Attachment #1: Type: text/plain, Size: 6139 bytes --] Hi "Álvaro, Thank you for the patch! Yet something to improve: [auto build test ERROR on usb/usb-testing] [also build test ERROR on v5.11 next-20210223] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/lvaro-Fern-ndez-Rojas/usb-host-ehci-platform-add-ignore-oc-DT-support/20210223-235717 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing config: m68k-randconfig-s031-20210223 (attached as .config) compiler: m68k-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.3-229-g60c1f270-dirty # https://github.com/0day-ci/linux/commit/cb5cc55cab35476258f04e40cac0a9dd02271475 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review lvaro-Fern-ndez-Rojas/usb-host-ehci-platform-add-ignore-oc-DT-support/20210223-235717 git checkout cb5cc55cab35476258f04e40cac0a9dd02271475 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=m68k If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): In file included from include/linux/build_bug.h:5, from include/linux/bits.h:22, from include/linux/ioport.h:13, from include/linux/acpi.h:12, from drivers/usb/host/ehci-platform.c:21: include/linux/scatterlist.h: In function 'sg_set_buf': arch/m68k/include/asm/page_no.h:33:50: warning: ordered comparison of pointer with null pointer [-Wextra] 33 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \ | ^~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ include/linux/scatterlist.h:137:2: note: in expansion of macro 'BUG_ON' 137 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~ include/linux/scatterlist.h:137:10: note: in expansion of macro 'virt_addr_valid' 137 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~~~~~~~~~~ drivers/usb/host/ehci-platform.c: In function 'ehci_platform_probe': >> drivers/usb/host/ehci-platform.c:290:8: error: 'struct ehci_hcd' has no member named 'ignore_oc' 290 | ehci->ignore_oc = 1; | ^~ vim +290 drivers/usb/host/ehci-platform.c 238 239 static int ehci_platform_probe(struct platform_device *dev) 240 { 241 struct usb_hcd *hcd; 242 struct resource *res_mem; 243 struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev); 244 struct ehci_platform_priv *priv; 245 struct ehci_hcd *ehci; 246 int err, irq, clk = 0; 247 248 if (usb_disabled()) 249 return -ENODEV; 250 251 /* 252 * Use reasonable defaults so platforms don't have to provide these 253 * with DT probing on ARM. 254 */ 255 if (!pdata) 256 pdata = &ehci_platform_defaults; 257 258 err = dma_coerce_mask_and_coherent(&dev->dev, 259 pdata->dma_mask_64 ? DMA_BIT_MASK(64) : DMA_BIT_MASK(32)); 260 if (err) { 261 dev_err(&dev->dev, "Error: DMA mask configuration failed\n"); 262 return err; 263 } 264 265 irq = platform_get_irq(dev, 0); 266 if (irq < 0) 267 return irq; 268 269 hcd = usb_create_hcd(&ehci_platform_hc_driver, &dev->dev, 270 dev_name(&dev->dev)); 271 if (!hcd) 272 return -ENOMEM; 273 274 platform_set_drvdata(dev, hcd); 275 dev->dev.platform_data = pdata; 276 priv = hcd_to_ehci_priv(hcd); 277 ehci = hcd_to_ehci(hcd); 278 279 if (pdata == &ehci_platform_defaults && dev->dev.of_node) { 280 if (of_property_read_bool(dev->dev.of_node, "big-endian-regs")) 281 ehci->big_endian_mmio = 1; 282 283 if (of_property_read_bool(dev->dev.of_node, "big-endian-desc")) 284 ehci->big_endian_desc = 1; 285 286 if (of_property_read_bool(dev->dev.of_node, "big-endian")) 287 ehci->big_endian_mmio = ehci->big_endian_desc = 1; 288 289 if (of_property_read_bool(dev->dev.of_node, "ignore-oc")) > 290 ehci->ignore_oc = 1; 291 292 if (of_property_read_bool(dev->dev.of_node, 293 "needs-reset-on-resume")) 294 priv->reset_on_resume = true; 295 296 if (of_property_read_bool(dev->dev.of_node, 297 "has-transaction-translator")) 298 hcd->has_tt = 1; 299 300 if (soc_device_match(quirk_poll_match)) 301 priv->quirk_poll = true; 302 303 for (clk = 0; clk < EHCI_MAX_CLKS; clk++) { 304 priv->clks[clk] = of_clk_get(dev->dev.of_node, clk); 305 if (IS_ERR(priv->clks[clk])) { 306 err = PTR_ERR(priv->clks[clk]); 307 if (err == -EPROBE_DEFER) 308 goto err_put_clks; 309 priv->clks[clk] = NULL; 310 break; 311 } 312 } 313 } 314 315 priv->rsts = devm_reset_control_array_get_optional_shared(&dev->dev); 316 if (IS_ERR(priv->rsts)) { 317 err = PTR_ERR(priv->rsts); 318 goto err_put_clks; 319 } 320 321 err = reset_control_deassert(priv->rsts); 322 if (err) 323 goto err_put_clks; 324 325 if (pdata->big_endian_desc) 326 ehci->big_endian_desc = 1; 327 if (pdata->big_endian_mmio) 328 ehci->big_endian_mmio = 1; 329 if (pdata->has_tt) 330 hcd->has_tt = 1; 331 if (pdata->reset_on_resume) 332 priv->reset_on_resume = true; 333 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 19925 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support 2021-02-23 15:50 ` [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas 2021-02-23 17:37 ` kernel test robot @ 2021-02-23 19:22 ` kernel test robot 1 sibling, 0 replies; 18+ messages in thread From: kernel test robot @ 2021-02-23 19:22 UTC (permalink / raw) To: Álvaro Fernández Rojas, f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: kbuild-all, clang-built-linux [-- Attachment #1: Type: text/plain, Size: 5580 bytes --] Hi "Álvaro, Thank you for the patch! Yet something to improve: [auto build test ERROR on usb/usb-testing] [also build test ERROR on v5.11 next-20210223] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/lvaro-Fern-ndez-Rojas/usb-host-ehci-platform-add-ignore-oc-DT-support/20210223-235717 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing config: mips-randconfig-r022-20210223 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install mips cross compiling tool for clang build # apt-get install binutils-mips-linux-gnu # https://github.com/0day-ci/linux/commit/cb5cc55cab35476258f04e40cac0a9dd02271475 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review lvaro-Fern-ndez-Rojas/usb-host-ehci-platform-add-ignore-oc-DT-support/20210223-235717 git checkout cb5cc55cab35476258f04e40cac0a9dd02271475 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All error/warnings (new ones prefixed by >>): >> drivers/usb/host/ehci-platform.c:290:10: error: no member named 'ignore_oc' in 'struct ehci_hcd' ehci->ignore_oc = 1; ~~~~ ^ >> drivers/usb/host/ehci-platform.c:259:24: warning: shift count >= width of type [-Wshift-count-overflow] pdata->dma_mask_64 ? DMA_BIT_MASK(64) : DMA_BIT_MASK(32)); ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 1 warning and 1 error generated. vim +290 drivers/usb/host/ehci-platform.c 238 239 static int ehci_platform_probe(struct platform_device *dev) 240 { 241 struct usb_hcd *hcd; 242 struct resource *res_mem; 243 struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev); 244 struct ehci_platform_priv *priv; 245 struct ehci_hcd *ehci; 246 int err, irq, clk = 0; 247 248 if (usb_disabled()) 249 return -ENODEV; 250 251 /* 252 * Use reasonable defaults so platforms don't have to provide these 253 * with DT probing on ARM. 254 */ 255 if (!pdata) 256 pdata = &ehci_platform_defaults; 257 258 err = dma_coerce_mask_and_coherent(&dev->dev, > 259 pdata->dma_mask_64 ? DMA_BIT_MASK(64) : DMA_BIT_MASK(32)); 260 if (err) { 261 dev_err(&dev->dev, "Error: DMA mask configuration failed\n"); 262 return err; 263 } 264 265 irq = platform_get_irq(dev, 0); 266 if (irq < 0) 267 return irq; 268 269 hcd = usb_create_hcd(&ehci_platform_hc_driver, &dev->dev, 270 dev_name(&dev->dev)); 271 if (!hcd) 272 return -ENOMEM; 273 274 platform_set_drvdata(dev, hcd); 275 dev->dev.platform_data = pdata; 276 priv = hcd_to_ehci_priv(hcd); 277 ehci = hcd_to_ehci(hcd); 278 279 if (pdata == &ehci_platform_defaults && dev->dev.of_node) { 280 if (of_property_read_bool(dev->dev.of_node, "big-endian-regs")) 281 ehci->big_endian_mmio = 1; 282 283 if (of_property_read_bool(dev->dev.of_node, "big-endian-desc")) 284 ehci->big_endian_desc = 1; 285 286 if (of_property_read_bool(dev->dev.of_node, "big-endian")) 287 ehci->big_endian_mmio = ehci->big_endian_desc = 1; 288 289 if (of_property_read_bool(dev->dev.of_node, "ignore-oc")) > 290 ehci->ignore_oc = 1; 291 292 if (of_property_read_bool(dev->dev.of_node, 293 "needs-reset-on-resume")) 294 priv->reset_on_resume = true; 295 296 if (of_property_read_bool(dev->dev.of_node, 297 "has-transaction-translator")) 298 hcd->has_tt = 1; 299 300 if (soc_device_match(quirk_poll_match)) 301 priv->quirk_poll = true; 302 303 for (clk = 0; clk < EHCI_MAX_CLKS; clk++) { 304 priv->clks[clk] = of_clk_get(dev->dev.of_node, clk); 305 if (IS_ERR(priv->clks[clk])) { 306 err = PTR_ERR(priv->clks[clk]); 307 if (err == -EPROBE_DEFER) 308 goto err_put_clks; 309 priv->clks[clk] = NULL; 310 break; 311 } 312 } 313 } 314 315 priv->rsts = devm_reset_control_array_get_optional_shared(&dev->dev); 316 if (IS_ERR(priv->rsts)) { 317 err = PTR_ERR(priv->rsts); 318 goto err_put_clks; 319 } 320 321 err = reset_control_deassert(priv->rsts); 322 if (err) 323 goto err_put_clks; 324 325 if (pdata->big_endian_desc) 326 ehci->big_endian_desc = 1; 327 if (pdata->big_endian_mmio) 328 ehci->big_endian_mmio = 1; 329 if (pdata->has_tt) 330 hcd->has_tt = 1; 331 if (pdata->reset_on_resume) 332 priv->reset_on_resume = true; 333 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 40006 bytes --] ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 0/2] usb: host: ehci-platform: add ignore-oc DT support 2021-02-23 15:50 [PATCH 0/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas 2021-02-23 15:50 ` [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas 2021-02-23 15:50 ` [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas @ 2021-02-23 16:16 ` Álvaro Fernández Rojas 2021-02-23 16:16 ` [PATCH v2 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas 2021-02-23 16:16 ` [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 0/3] usb: host: ehci-platform: add spurious-oc support Álvaro Fernández Rojas 3 siblings, 2 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 16:16 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Álvaro Fernández Rojas (2): dt-bindings: usb: generic-ehci: document ignore-oc flag usb: host: ehci-platform: add ignore_oc DT support Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++ drivers/usb/host/ehci-platform.c | 3 +++ 2 files changed, 9 insertions(+) -- 2.20.1 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v2 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag 2021-02-23 16:16 ` [PATCH v2 0/2] " Álvaro Fernández Rojas @ 2021-02-23 16:16 ` Álvaro Fernández Rojas 2021-02-23 16:16 ` [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support Álvaro Fernández Rojas 1 sibling, 0 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 16:16 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> --- v2: change flag name and improve documentation as suggested by Alan Stern. Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml index cf83f2d9afac..8089dc956ba3 100644 --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml @@ -122,6 +122,12 @@ properties: description: Set this flag to force EHCI reset after resume. + spurious-oc: + $ref: /schemas/types.yaml#/definitions/flag + description: + Set this flag to indicate that the hardware sometimes turns on + the OC bit when an over-current isn't actually present. + companion: $ref: /schemas/types.yaml#/definitions/phandle description: -- 2.20.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support 2021-02-23 16:16 ` [PATCH v2 0/2] " Álvaro Fernández Rojas 2021-02-23 16:16 ` [PATCH v2 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas @ 2021-02-23 16:16 ` Álvaro Fernández Rojas 2021-02-23 16:55 ` Alan Stern 1 sibling, 1 reply; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 16:16 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> --- v2: change flag name and improve documentation as suggested by Alan Stern. drivers/usb/host/ehci-platform.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index a48dd3fac153..2c587e31d010 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -286,6 +286,9 @@ static int ehci_platform_probe(struct platform_device *dev) if (of_property_read_bool(dev->dev.of_node, "big-endian")) ehci->big_endian_mmio = ehci->big_endian_desc = 1; + if (of_property_read_bool(dev->dev.of_node, "spurious-oc")) + ehci->ignore_oc = 1; + if (of_property_read_bool(dev->dev.of_node, "needs-reset-on-resume")) priv->reset_on_resume = true; -- 2.20.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support 2021-02-23 16:16 ` [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support Álvaro Fernández Rojas @ 2021-02-23 16:55 ` Alan Stern 0 siblings, 0 replies; 18+ messages in thread From: Alan Stern @ 2021-02-23 16:55 UTC (permalink / raw) To: Álvaro Fernández Rojas Cc: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel On Tue, Feb 23, 2021 at 05:16:44PM +0100, Álvaro Fernández Rojas wrote: > Over-current reporting isn't supported on some platforms such as bcm63xx. > These devices will incorrectly report over-current if this flag isn't properly > activated. > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > --- > v2: change flag name and improve documentation as suggested by Alan Stern. > > drivers/usb/host/ehci-platform.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c > index a48dd3fac153..2c587e31d010 100644 > --- a/drivers/usb/host/ehci-platform.c > +++ b/drivers/usb/host/ehci-platform.c > @@ -286,6 +286,9 @@ static int ehci_platform_probe(struct platform_device *dev) > if (of_property_read_bool(dev->dev.of_node, "big-endian")) > ehci->big_endian_mmio = ehci->big_endian_desc = 1; > > + if (of_property_read_bool(dev->dev.of_node, "spurious-oc")) > + ehci->ignore_oc = 1; > + > if (of_property_read_bool(dev->dev.of_node, > "needs-reset-on-resume")) > priv->reset_on_resume = true; Acked-by: Alan Stern <stern@rowland.harvard.edu> ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 0/3] usb: host: ehci-platform: add spurious-oc support 2021-02-23 15:50 [PATCH 0/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas ` (2 preceding siblings ...) 2021-02-23 16:16 ` [PATCH v2 0/2] " Álvaro Fernández Rojas @ 2021-02-23 17:44 ` Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 1/3] usb: ehci: add spurious flag to disable overcurrent checking Álvaro Fernández Rojas ` (2 more replies) 3 siblings, 3 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 17:44 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. v3: add missing patch from Florian Fainelli. v2: change flag name and improve documentation as suggested by Alan Stern. Florian Fainelli (1): usb: ehci: add spurious flag to disable overcurrent checking Álvaro Fernández Rojas (2): dt-bindings: usb: generic-ehci: document spurious-oc flag usb: host: ehci-platform: add spurious_oc DT support Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++ drivers/usb/host/ehci-hcd.c | 2 +- drivers/usb/host/ehci-hub.c | 4 ++-- drivers/usb/host/ehci-platform.c | 5 +++++ drivers/usb/host/ehci.h | 1 + include/linux/usb/ehci_pdriver.h | 1 + 6 files changed, 16 insertions(+), 3 deletions(-) -- 2.20.1 ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 1/3] usb: ehci: add spurious flag to disable overcurrent checking 2021-02-23 17:44 ` [PATCH v3 0/3] usb: host: ehci-platform: add spurious-oc support Álvaro Fernández Rojas @ 2021-02-23 17:44 ` Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 3/3] usb: host: ehci-platform: add spurious_oc DT support Álvaro Fernández Rojas 2 siblings, 0 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 17:44 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Florian Fainelli, Álvaro Fernández Rojas From: Florian Fainelli <florian@openwrt.org> This patch adds an ignore_oc flag which can be set by EHCI controller not supporting or wanting to disable overcurrent checking. The EHCI platform data in include/linux/usb/ehci_pdriver.h is also augmented to take advantage of this new flag. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> --- drivers/usb/host/ehci-hcd.c | 2 +- drivers/usb/host/ehci-hub.c | 4 ++-- drivers/usb/host/ehci-platform.c | 2 ++ drivers/usb/host/ehci.h | 1 + include/linux/usb/ehci_pdriver.h | 1 + 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 1926b328b6aa..2237d22d292a 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -651,7 +651,7 @@ static int ehci_run (struct usb_hcd *hcd) "USB %x.%x started, EHCI %x.%02x%s\n", ((ehci->sbrn & 0xf0)>>4), (ehci->sbrn & 0x0f), temp >> 8, temp & 0xff, - ignore_oc ? ", overcurrent ignored" : ""); + (ignore_oc || ehci->spurious_oc) ? ", overcurrent ignored" : ""); ehci_writel(ehci, INTR_MASK, &ehci->regs->intr_enable); /* Turn On Interrupts */ diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 9f9ab5ccea88..159cc27b1a36 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -643,7 +643,7 @@ ehci_hub_status_data (struct usb_hcd *hcd, char *buf) * always set, seem to clear PORT_OCC and PORT_CSC when writing to * PORT_POWER; that's surprising, but maybe within-spec. */ - if (!ignore_oc) + if (!ignore_oc && !ehci->spurious_oc) mask = PORT_CSC | PORT_PEC | PORT_OCC; else mask = PORT_CSC | PORT_PEC; @@ -1013,7 +1013,7 @@ int ehci_hub_control( if (temp & PORT_PEC) status |= USB_PORT_STAT_C_ENABLE << 16; - if ((temp & PORT_OCC) && !ignore_oc){ + if ((temp & PORT_OCC) && (!ignore_oc && !ehci->spurious_oc)){ status |= USB_PORT_STAT_C_OVERCURRENT << 16; /* diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index a48dd3fac153..4d7b17f4f82b 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -327,6 +327,8 @@ static int ehci_platform_probe(struct platform_device *dev) hcd->has_tt = 1; if (pdata->reset_on_resume) priv->reset_on_resume = true; + if (pdata->spurious_oc) + ehci->spurious_oc = 1; #ifndef CONFIG_USB_EHCI_BIG_ENDIAN_MMIO if (ehci->big_endian_mmio) { diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index eabf22a78eae..80bb823aa9fe 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -218,6 +218,7 @@ struct ehci_hcd { /* one per controller */ unsigned frame_index_bug:1; /* MosChip (AKA NetMos) */ unsigned need_oc_pp_cycle:1; /* MPC834X port power */ unsigned imx28_write_fix:1; /* For Freescale i.MX28 */ + unsigned spurious_oc:1; /* required for usb32 quirk */ #define OHCI_CTRL_HCFS (3 << 6) diff --git a/include/linux/usb/ehci_pdriver.h b/include/linux/usb/ehci_pdriver.h index dd742afdc03f..89fc901e778f 100644 --- a/include/linux/usb/ehci_pdriver.h +++ b/include/linux/usb/ehci_pdriver.h @@ -50,6 +50,7 @@ struct usb_ehci_pdata { unsigned no_io_watchdog:1; unsigned reset_on_resume:1; unsigned dma_mask_64:1; + unsigned spurious_oc:1; /* Turn on all power and clocks */ int (*power_on)(struct platform_device *pdev); -- 2.20.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag 2021-02-23 17:44 ` [PATCH v3 0/3] usb: host: ehci-platform: add spurious-oc support Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 1/3] usb: ehci: add spurious flag to disable overcurrent checking Álvaro Fernández Rojas @ 2021-02-23 17:44 ` Álvaro Fernández Rojas 2021-02-24 7:20 ` Álvaro Fernández Rojas 2021-03-06 20:02 ` Rob Herring 2021-02-23 17:44 ` [PATCH v3 3/3] usb: host: ehci-platform: add spurious_oc DT support Álvaro Fernández Rojas 2 siblings, 2 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 17:44 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> --- v3: no changes. v2: change flag name and improve documentation as suggested by Alan Stern. Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml index cf83f2d9afac..8089dc956ba3 100644 --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml @@ -122,6 +122,12 @@ properties: description: Set this flag to force EHCI reset after resume. + spurious-oc: + $ref: /schemas/types.yaml#/definitions/flag + description: + Set this flag to indicate that the hardware sometimes turns on + the OC bit when an over-current isn't actually present. + companion: $ref: /schemas/types.yaml#/definitions/phandle description: -- 2.20.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag 2021-02-23 17:44 ` [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag Álvaro Fernández Rojas @ 2021-02-24 7:20 ` Álvaro Fernández Rojas 2021-03-06 20:02 ` Rob Herring 1 sibling, 0 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-24 7:20 UTC (permalink / raw) To: Florian Fainelli, Jonas Gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel I didn’t change this, but I missed Alan’s Acked-by, so: Acked-by: Alan Stern <stern@rowland.harvard.edu> > El 23 feb 2021, a las 18:44, Álvaro Fernández Rojas <noltari@gmail.com> escribió: > > Over-current reporting isn't supported on some platforms such as bcm63xx. > These devices will incorrectly report over-current if this flag isn't properly > activated. > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > --- > v3: no changes. > v2: change flag name and improve documentation as suggested by Alan Stern. > > Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml > index cf83f2d9afac..8089dc956ba3 100644 > --- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml > +++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml > @@ -122,6 +122,12 @@ properties: > description: > Set this flag to force EHCI reset after resume. > > + spurious-oc: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + Set this flag to indicate that the hardware sometimes turns on > + the OC bit when an over-current isn't actually present. > + > companion: > $ref: /schemas/types.yaml#/definitions/phandle > description: > -- > 2.20.1 > ^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag 2021-02-23 17:44 ` [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag Álvaro Fernández Rojas 2021-02-24 7:20 ` Álvaro Fernández Rojas @ 2021-03-06 20:02 ` Rob Herring 1 sibling, 0 replies; 18+ messages in thread From: Rob Herring @ 2021-03-06 20:02 UTC (permalink / raw) To: Álvaro Fernández Rojas Cc: devicetree, linux-arm-kernel, jonas.gorski, f.fainelli, linux-usb, Alan Stern, Tony Prisk, Greg Kroah-Hartman, linux-kernel, Rob Herring On Tue, 23 Feb 2021 18:44:54 +0100, Álvaro Fernández Rojas wrote: > Over-current reporting isn't supported on some platforms such as bcm63xx. > These devices will incorrectly report over-current if this flag isn't properly > activated. > > Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> > --- > v3: no changes. > v2: change flag name and improve documentation as suggested by Alan Stern. > > Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > Acked-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v3 3/3] usb: host: ehci-platform: add spurious_oc DT support 2021-02-23 17:44 ` [PATCH v3 0/3] usb: host: ehci-platform: add spurious-oc support Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 1/3] usb: ehci: add spurious flag to disable overcurrent checking Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag Álvaro Fernández Rojas @ 2021-02-23 17:44 ` Álvaro Fernández Rojas 2 siblings, 0 replies; 18+ messages in thread From: Álvaro Fernández Rojas @ 2021-02-23 17:44 UTC (permalink / raw) To: f.fainelli, jonas.gorski, Greg Kroah-Hartman, Rob Herring, Alan Stern, Tony Prisk, linux-usb, devicetree, linux-kernel, linux-arm-kernel Cc: Álvaro Fernández Rojas Over-current reporting isn't supported on some platforms such as bcm63xx. These devices will incorrectly report over-current if this flag isn't properly activated. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> --- v3: no changes. drivers/usb/host/ehci-platform.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c index 4d7b17f4f82b..c70f2d0b4aaf 100644 --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c @@ -286,6 +286,9 @@ static int ehci_platform_probe(struct platform_device *dev) if (of_property_read_bool(dev->dev.of_node, "big-endian")) ehci->big_endian_mmio = ehci->big_endian_desc = 1; + if (of_property_read_bool(dev->dev.of_node, "spurious-oc")) + ehci->spurious_oc = 1; + if (of_property_read_bool(dev->dev.of_node, "needs-reset-on-resume")) priv->reset_on_resume = true; -- 2.20.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
end of thread, other threads:[~2021-03-06 20:03 UTC | newest] Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-02-23 15:50 [PATCH 0/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas 2021-02-23 15:50 ` [PATCH 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas 2021-02-23 15:54 ` Alan Stern 2021-02-23 16:04 ` Álvaro Fernández Rojas 2021-02-23 16:09 ` Alan Stern 2021-02-23 15:50 ` [PATCH 2/2] usb: host: ehci-platform: add ignore-oc DT support Álvaro Fernández Rojas 2021-02-23 17:37 ` kernel test robot 2021-02-23 19:22 ` kernel test robot 2021-02-23 16:16 ` [PATCH v2 0/2] " Álvaro Fernández Rojas 2021-02-23 16:16 ` [PATCH v2 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag Álvaro Fernández Rojas 2021-02-23 16:16 ` [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support Álvaro Fernández Rojas 2021-02-23 16:55 ` Alan Stern 2021-02-23 17:44 ` [PATCH v3 0/3] usb: host: ehci-platform: add spurious-oc support Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 1/3] usb: ehci: add spurious flag to disable overcurrent checking Álvaro Fernández Rojas 2021-02-23 17:44 ` [PATCH v3 2/3] dt-bindings: usb: generic-ehci: document spurious-oc flag Álvaro Fernández Rojas 2021-02-24 7:20 ` Álvaro Fernández Rojas 2021-03-06 20:02 ` Rob Herring 2021-02-23 17:44 ` [PATCH v3 3/3] usb: host: ehci-platform: add spurious_oc DT support Álvaro Fernández Rojas
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).