Thread (31 messages) 31 messages, 5 authors, 2016-05-06

Re: [PATCH v3 09/11] serial: 8250_lpss: move Quark code from PCI driver

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2016-05-04 14:54:23
Also in: lkml

On Wed, 2016-05-04 at 15:37 +0100, Bryan O'Donoghue wrote:
On Wed, 2016-05-04 at 14:20 +0300, Andy Shevchenko wrote:
quoted
On Wed, 2016-05-04 at 12:01 +0100, Bryan O'Donoghue wrote:
quoted
On Wed, 2016-05-04 at 13:03 +0300, Andy Shevchenko wrote:
quoted

On Wed, May 4, 2016 at 12:51 PM, Bryan O'Donoghue
[off-list ref] wrote:
quoted

The default may be set to SERIAL_8250 but, without the QRK
specific
entry in 8250_pci.c you won't get console output.
That's, by the way, not true.
Since when ? We don't have an I/O bar so mapping the MMIO bar @ the
right register width is required.
Since this series.
8250_lpss will be enabled as long as user doesn't enable EXPERT and
_explicitly_ _disables_ it.

Same is applied to SERIAL_8250_PCI. If you look at the default kernel
configurations such as i386_default you don't find that option there.

Btw, I have to clean up such in my branches.
quoted
quoted
quoted
quoted
So if you are going to remove the QRK entry from 8250_pci.c
and
stuff
it into 8250_lpss.c then 8250_lpss needs to be selected by
CONFIG_SERIAL_8250_PCI.
Why?!

Now it should be enough to have SERIAL_8250 set to non-n to have
8250_lpss compiled.
Can you check it?
I'm sure that's true.

My point to you is that - its a highly non-intuitive thing to do
on
a
reading of the datasheet for this part.

LPSS is, ostensibly at least, for passing processor resources via
APCI.

If you look at a QRK datasheet it says "enumerate all this stuff
via
PCI" - there's not a single mention of LPSS. Its reasonable,
correct
and currently required for QRK to set CONFIG_8250_PCI.
User has no such item even visible until enable CONFIG_EXPERT.

Heikki sent an answer to you (and to the list, but by some reason
it's
not yet there) an hour ago.
quoted

To move away from a valid/standard PCI probe routine into a new
special
LPSS/PCI shim (which the hardware doesn't actually mandate) I do
think
you should to setup the dependency CONFIG_8250_PCI =>
CONFIG_8250_LPSS.
No, this is what we try avoiding, thus it will not happen.

If user selects CONFIG_SERIAL_8250_PCI, the CONFIG_SERIAL_8250_LPSS
will
be selected as well since it has same dependencies.
Hmm. I think what you mean to say is that a user (expert or not)
*would* select SERIAL_8250_LPSS since (at least in your branch
 09c4268121a39eb3973823dd9225b650df726f67) both options may be
individually selected/deselected.
So, currently it works in such way that user enables SERIAL_8250 and
_dependencies_, which are PCI (for SERIAL_8250_PCI) or PCI && X86 (for
SERIAL_8250_LPSS) and drivers will be built automatically on the same
level (m or y) as SERIAL_8250.

Nevertheless, user may _disable_ them if needed using EXPERT option.

-- 
Andy Shevchenko [off-list ref]
Intel Finland Oy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help