[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 1/7] serial: Skip over PCIe device which have no quirks (fix AMT regression).
>>> On 07.03.14 at 20:01, Konrad Rzeszutek Wilk <konrad@xxxxxxxxxx> wrote: > The "ns16550: Add support for UART present in Broadcom TruManage > capable NetXtreme chips" implies that only devices that are have > an MMIO BAR and are in the quirks table should be processed. > > Even the comment at the end says so: > > If we have an io_base, then we succeeded in the lookup > > But the code was checking for the !io_base - which is to say if > the io_base was 0 then we would skip scanning. But io_base > always has a value - it is set by 'ns16550_init' to a default > value - so it would never hit the 'continue' path. > > This means that if we have an communication device followed by > a serial AMT device we would pick the communication device instead > of the AMT device. > > See: > 00:16.0 Communication controller: Intel Corporation Cougar Point HECI > Controller #1 (rev 04) > Subsystem: Intel Corporation Device 2008 > Flags: bus master, fast devsel, latency 0, IRQ 11 > Memory at fb12a000 (64-bit, non-prefetchable) [size=16] > 00:16.3 Serial controller: Intel Corporation Cougar Point KT Controller (rev > 04) (prog-if 02 [16550]) > Subsystem: Intel Corporation Device 2008 > Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17 > I/O ports at f0e0 [size=8] > Memory at fb129000 (32-bit, non-prefetchable) [size=4K] > > pci 0000:00:16.0: [8086:1c3a] type 00 class 0x078000 > pci 0000:00:16.3: [8086:1c3d] type 00 class 0x070002 > > And Xen picks 00:16.0 as its console when using 'com1=115200,8n1,amt'. > > This patch fixes it and allows us to use AMT again by zeroing > out io_base to zero. If the scan did not work, the io_base is > set back to a default value (the 'pci_uart_config' does that > already at its end). > > CC: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> > CC: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> > CC: Thomas Lendacky <Thomas.Lendacky@xxxxxxx> > CC: Jan Beulich <jbeulich@xxxxxxxx> > CC: Keir Fraser <keir@xxxxxxx> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > --- > xen/drivers/char/ns16550.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c > index 53e49a1..2fded08 100644 > --- a/xen/drivers/char/ns16550.c > +++ b/xen/drivers/char/ns16550.c > @@ -616,6 +616,7 @@ pci_uart_config (struct ns16550 *uart, int skip_amt, int > bar_idx) > unsigned int b, d, f, nextf, i; > u16 vendor, device; > > + uart->io_base = 0; > /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus 0. */ > for ( b = skip_amt ? 1 : 0; b < 0x100; b++ ) > { > -- > 1.7.7.6 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |