Re: [PATCH] UHCI:adjust zhaoxin UHCI controllers OverCurrent bit value

From: WeitaoWang-oc@xxxxxxxxxxx
Date: Thu Apr 20 2023 - 23:00:34 EST


On 2023/4/20 22:49, Alan Stern wrote:
On Thu, Apr 20, 2023 at 07:14:45PM +0800, Weitao Wang wrote:
Over Current condition is not standardized in the UHCI spec.
Zhaoxin UHCI controllers report OverCurrent bit active off.
Intel controllers report it active on, so we'll adjust the bit value.

The last sentence is irrelevant. You should say instead that the
uhci-hcd driver needs to be told to expect the active-off behavior.

Okay, I'll change this description.Thanks!


Signed-off-by: Weitao Wang <WeitaoWang-oc@xxxxxxxxxxx>
---
drivers/usb/host/uhci-pci.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/usb/host/uhci-pci.c b/drivers/usb/host/uhci-pci.c
index 3592f757fe05..177e3c2aa287 100644
--- a/drivers/usb/host/uhci-pci.c
+++ b/drivers/usb/host/uhci-pci.c
@@ -126,6 +126,10 @@ static int uhci_pci_init(struct usb_hcd *hcd)
if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_VIA)
uhci->oc_low = 1;
+ /* ZHAOXIN controllers report OverCurrent bit active off. */
+ if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_ZHAOXIN)
+ uhci->oc_low = 1;

This is really just a matter of taste, but IMO it would be better to
combine this comment and test with the preceding one. Something like:

This advice is good and the code looks more concise.
I'll change these code and description in next patch version.

Thanks,
Weitao
/*
* Intel controllers report the OverCurrent bit active on. VIA
* and ZHAOXIN controllers report it active off, so we'll adjust
* the bit value. (It's not standardized in the UHCI spec.)
*/
if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_VIA ||
to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_ZHAOXIN)
uhci->oc_low = 1;

Alan Stern
.