On Wed, 2019-12-18 at 15:13 -0800, Haren Myneni wrote:
> On Wed, 2019-12-18 at 18:18 +1100, Oliver O'Halloran wrote:
> > On Wed, Nov 27, 2019 at 12:07 PM Haren Myneni
> > wrote:
> > >
> > > *snip*
> > >
> > > @@ -36,7 +62,18 @@ static int init_vas_instance(struct platform_device
> > > *pdev)
> >
On Wed, 2019-12-18 at 18:18 +1100, Oliver O'Halloran wrote:
> On Wed, Nov 27, 2019 at 12:07 PM Haren Myneni
> wrote:
> >
> > *snip*
> >
> > @@ -36,7 +62,18 @@ static int init_vas_instance(struct platform_device
> > *pdev)
> > return -ENODEV;
> > }
> >
> > - if (pdev
On Wed, Nov 27, 2019 at 12:07 PM Haren Myneni wrote:
>
> *snip*
>
> @@ -36,7 +62,18 @@ static int init_vas_instance(struct platform_device *pdev)
> return -ENODEV;
> }
>
> - if (pdev->num_resources != 4) {
> + rc = of_property_read_u64(dn, "ibm,vas-port", &port)
> +static irqreturn_t vas_irq_handler(int virq, void *data)
> +{
> + struct vas_instance *vinst = data;
> +
> + pr_devel("VAS %d: virq %d\n", vinst->vas_id, virq);
> +
> + return IRQ_HANDLED;
> +}
An empty interrupt handler is rather pointless. It later grows code,
but adding it witho
Read interrupt and port values from the device tree, setup IRQ
mapping and register IRQ for each VAS instance. Set port value for
each NX window. When NX sees a fault on CRB, kernel gets an interrupt
and handles the fault.
IRQ setup and fault handling is needed only for user space send
windows.