Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd841986 authored by Alexander Shishkin's avatar Alexander Shishkin Committed by Greg Kroah-Hartman
Browse files

usb: chipidea: add power_budget limit for ehci to platform data



Some implementations need this limitation to work correctly.

Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent eb70e5ab
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -33,6 +33,12 @@ struct ci13xxx_udc_driver langwell_pci_driver = {
	.capoffset	= 0,
};

struct ci13xxx_udc_driver penwell_pci_driver = {
	.name		= UDC_DRIVER_NAME,
	.capoffset	= 0,
	.power_budget	= 200,
};

/**
 * ci13xxx_pci_probe: PCI probe
 * @pdev: USB device controller being probed
@@ -153,7 +159,7 @@ static DEFINE_PCI_DEVICE_TABLE(ci13xxx_pci_id_table) = {
	},
	{
		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0829),
		.driver_data = (kernel_ulong_t)&langwell_pci_driver,
		.driver_data = (kernel_ulong_t)&penwell_pci_driver,
	},
	{ 0, 0, 0, 0, 0, 0, 0 /* end: all zeroes */ }
};
+2 −0
Original line number Diff line number Diff line
@@ -116,6 +116,8 @@ static int host_start(struct ci13xxx *ci)
	hcd->regs = ci->hw_bank.abs;
	hcd->has_tt = 1;

	hcd->power_budget = ci->udc_driver->power_budget;

	ehci = hcd_to_ehci(hcd);
	ehci->caps = ci->hw_bank.cap;
	ehci->has_hostpc = ci->hw_bank.lpm;
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ struct ci13xxx_udc_driver {
	const char	*name;
	/* offset of the capability registers */
	uintptr_t	 capoffset;
	unsigned	 power_budget;
	unsigned long	 flags;
#define CI13XXX_REGS_SHARED		BIT(0)
#define CI13XXX_REQUIRE_TRANSCEIVER	BIT(1)