All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] serial: Expand the PCIe params for an Oxford two port serial cards.
@ 2014-03-19 15:18 Konrad Rzeszutek Wilk
  2014-03-19 15:29 ` Jan Beulich
  0 siblings, 1 reply; 4+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-03-19 15:18 UTC (permalink / raw)
  To: keir, jbeulich, xen-devel

Which of course has a different model number and sports two
serial outputs.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
---
 xen/drivers/char/ns16550.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 429d786..7caa86c 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -105,6 +105,7 @@ enum {
     param_default = 0,
     param_trumanage,
     param_oxford,
+    param_oxford_2port,
 };
 /*
  * Create lookup tables for specific MMIO devices..
@@ -130,6 +131,16 @@ static const struct ns16550_config_param __initconst uart_param[] = {
         .fifo_size = 16,
         .lsr_mask = UART_LSR_THRE,
         .max_bars = 1, /* It can do more, but we would need more custom code.*/
+    },
+    [param_oxford_2port] = {
+        .base_baud = 4000000,
+        .uart_offset = 0x200,
+        .first_offset = 0x1000,
+        .reg_width = 1,
+        .reg_shift = 0,
+        .fifo_size = 16,
+        .lsr_mask = UART_LSR_THRE,
+        .max_bars = 2,
     }
 };
 static const struct ns16550_config_mmio __initconst uart_config[] =
@@ -161,12 +172,24 @@ static const struct ns16550_config_mmio __initconst uart_config[] =
     /* OXPCIe952 1 Native UART  */
     {
         .vendor_id = PCI_VENDOR_ID_OXSEMI,
+        .dev_id = 0xc158,
+        .param = param_oxford_2port,
+    },
+    /* OXPCIe952 1 Native UART  */
+    {
+        .vendor_id = PCI_VENDOR_ID_OXSEMI,
         .dev_id = 0xc13d,
         .param = param_oxford,
     },
     /* OXPCIe952 1 Native UART  */
     {
         .vendor_id = PCI_VENDOR_ID_OXSEMI,
+        .dev_id = 0xc15d,
+        .param = param_oxford_2port,
+    },
+    /* OXPCIe952 1 Native UART  */
+    {
+        .vendor_id = PCI_VENDOR_ID_OXSEMI,
         .dev_id = 0xc40b,
         .param = param_oxford,
     },
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] serial: Expand the PCIe params for an Oxford two port serial cards.
  2014-03-19 15:18 [PATCH] serial: Expand the PCIe params for an Oxford two port serial cards Konrad Rzeszutek Wilk
@ 2014-03-19 15:29 ` Jan Beulich
  2014-03-19 15:54   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Beulich @ 2014-03-19 15:29 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: keir, xen-devel

>>> On 19.03.14 at 16:18, Konrad Rzeszutek Wilk <konrad@kernel.org> wrote:
> @@ -161,12 +172,24 @@ static const struct ns16550_config_mmio __initconst uart_config[] =
>      /* OXPCIe952 1 Native UART  */
>      {
>          .vendor_id = PCI_VENDOR_ID_OXSEMI,
> +        .dev_id = 0xc158,
> +        .param = param_oxford_2port,
> +    },
> +    /* OXPCIe952 1 Native UART  */
> +    {
> +        .vendor_id = PCI_VENDOR_ID_OXSEMI,
>          .dev_id = 0xc13d,
>          .param = param_oxford,
>      },
>      /* OXPCIe952 1 Native UART  */
>      {
>          .vendor_id = PCI_VENDOR_ID_OXSEMI,
> +        .dev_id = 0xc15d,
> +        .param = param_oxford_2port,
> +    },
> +    /* OXPCIe952 1 Native UART  */
> +    {
> +        .vendor_id = PCI_VENDOR_ID_OXSEMI,
>          .dev_id = 0xc40b,
>          .param = param_oxford,
>      },

While at first I only wanted to ask by what principle these entries
are being ordered, I now additionally wonder what really
distinguishes them (beyond the device ID): They all have the same
name, and even the newly added ones say "1 native UART",
despite the patch subject saying "two port".

Jan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] serial: Expand the PCIe params for an Oxford two port serial cards.
  2014-03-19 15:29 ` Jan Beulich
@ 2014-03-19 15:54   ` Konrad Rzeszutek Wilk
  2014-03-19 15:59     ` Jan Beulich
  0 siblings, 1 reply; 4+ messages in thread
From: Konrad Rzeszutek Wilk @ 2014-03-19 15:54 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Konrad Rzeszutek Wilk, keir, xen-devel

On Wed, Mar 19, 2014 at 03:29:31PM +0000, Jan Beulich wrote:
> >>> On 19.03.14 at 16:18, Konrad Rzeszutek Wilk <konrad@kernel.org> wrote:
> > @@ -161,12 +172,24 @@ static const struct ns16550_config_mmio __initconst uart_config[] =
> >      /* OXPCIe952 1 Native UART  */
> >      {
> >          .vendor_id = PCI_VENDOR_ID_OXSEMI,
> > +        .dev_id = 0xc158,
> > +        .param = param_oxford_2port,
> > +    },
> > +    /* OXPCIe952 1 Native UART  */
> > +    {
> > +        .vendor_id = PCI_VENDOR_ID_OXSEMI,
> >          .dev_id = 0xc13d,
> >          .param = param_oxford,
> >      },
> >      /* OXPCIe952 1 Native UART  */
> >      {
> >          .vendor_id = PCI_VENDOR_ID_OXSEMI,
> > +        .dev_id = 0xc15d,
> > +        .param = param_oxford_2port,
> > +    },
> > +    /* OXPCIe952 1 Native UART  */
> > +    {
> > +        .vendor_id = PCI_VENDOR_ID_OXSEMI,
> >          .dev_id = 0xc40b,
> >          .param = param_oxford,
> >      },
> 
> While at first I only wanted to ask by what principle these entries
> are being ordered, I now additionally wonder what really

I was putting them in the order of device_id. But I can also
put them at the end of the structure if you would prefer?

> distinguishes them (beyond the device ID): They all have the same
> name, and even the newly added ones say "1 native UART",

Argh. Copy-n-paste error. Should have said 'OXPCIe952 2 Native UART'


> despite the patch subject saying "two port".
> 
> Jan
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] serial: Expand the PCIe params for an Oxford two port serial cards.
  2014-03-19 15:54   ` Konrad Rzeszutek Wilk
@ 2014-03-19 15:59     ` Jan Beulich
  0 siblings, 0 replies; 4+ messages in thread
From: Jan Beulich @ 2014-03-19 15:59 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk; +Cc: Konrad Rzeszutek Wilk, keir, xen-devel

>>> On 19.03.14 at 16:54, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
> On Wed, Mar 19, 2014 at 03:29:31PM +0000, Jan Beulich wrote:
>> >>> On 19.03.14 at 16:18, Konrad Rzeszutek Wilk <konrad@kernel.org> wrote:
>> > @@ -161,12 +172,24 @@ static const struct ns16550_config_mmio __initconst 
> uart_config[] =
>> >      /* OXPCIe952 1 Native UART  */
>> >      {
>> >          .vendor_id = PCI_VENDOR_ID_OXSEMI,
>> > +        .dev_id = 0xc158,
>> > +        .param = param_oxford_2port,
>> > +    },
>> > +    /* OXPCIe952 1 Native UART  */
>> > +    {
>> > +        .vendor_id = PCI_VENDOR_ID_OXSEMI,
>> >          .dev_id = 0xc13d,
>> >          .param = param_oxford,
>> >      },
>> >      /* OXPCIe952 1 Native UART  */
>> >      {
>> >          .vendor_id = PCI_VENDOR_ID_OXSEMI,
>> > +        .dev_id = 0xc15d,
>> > +        .param = param_oxford_2port,
>> > +    },
>> > +    /* OXPCIe952 1 Native UART  */
>> > +    {
>> > +        .vendor_id = PCI_VENDOR_ID_OXSEMI,
>> >          .dev_id = 0xc40b,
>> >          .param = param_oxford,
>> >      },
>> 
>> While at first I only wanted to ask by what principle these entries
>> are being ordered, I now additionally wonder what really
> 
> I was putting them in the order of device_id. But I can also
> put them at the end of the structure if you would prefer?

No, that's fine. And you saying that made me realize that I too
the bottom most number visible above as c10b for some reason
(else I would have realized that this is the ordering used) - sorry
for the noise.

Jan

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-19 15:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-19 15:18 [PATCH] serial: Expand the PCIe params for an Oxford two port serial cards Konrad Rzeszutek Wilk
2014-03-19 15:29 ` Jan Beulich
2014-03-19 15:54   ` Konrad Rzeszutek Wilk
2014-03-19 15:59     ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.