> -----Original Message-----
> From: pbhagavat...@marvell.com <pbhagavat...@marvell.com>
> Sent: Sunday, June 2, 2019 12:23 AM
> To: Jerin Jacob Kollanukkaran <jer...@marvell.com>; Pavan Nikhilesh
> Bhagavatula <pbhagavat...@marvell.com>
> Cc: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH 11/44] event/octeontx2: add SSO GWS and GGRP
> IRQ handlers
> 
> From: Pavan Nikhilesh <pbhagavat...@marvell.com>
> 
> Register and implement SSO GWS and GGRP IRQ handlers for error interrupts.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
> Signed-off-by: Jerin Jacob <jer...@marvell.com>
> ---
> +#include "otx2_evdev.h"
> +
> +static void
> +sso_lf_irq(void *param)
> +{
> +     uintptr_t base = (uintptr_t)param;
> +     uint64_t intr;
> +     uint8_t ggrp;
> +
> +     ggrp = (base >> 12) & 0xFF;
> +
> +     intr = otx2_read64(base + SSO_LF_GGRP_INT);
> +     if (intr == 0)
> +             return;
> +
> +     otx2_err("GGRP %d GGRP_INT=0x%" PRIx64 "", ggrp, intr);
> +
> +     /* Clear interrupt */
> +     otx2_write64(intr, base + SSO_LF_GGRP_INT);
> +
> +     abort();


Remove abort() from driver.

> +}
> +
> +static int
> +sso_lf_register_irq(const struct rte_eventdev *event_dev, uint16_t
> ggrp_msixoff,
> +                 uintptr_t base)
> +{
> +     struct rte_pci_device *pci_dev = RTE_DEV_TO_PCI(event_dev->dev);
> +     struct rte_intr_handle *handle = &pci_dev->intr_handle;
> +     int rc, vec;
> +
> +     vec = ggrp_msixoff + SSO_LF_INT_VEC_GRP;
> +
> +     /* Clear err interrupt */
> +     otx2_write64(~0ull, base + SSO_LF_GGRP_INT_ENA_W1C);
> +     /* Set used interrupt vectors */
> +     rc = otx2_register_irq(handle, sso_lf_irq, (void *)base, vec);
> +     /* Enable hw interrupt */
> +     otx2_write64(~0ull, base + SSO_LF_GGRP_INT_ENA_W1S);
> +
> +     return rc;
> +}
> +
> +static void
> +ssow_lf_irq(void *param)
> +{
> +     uintptr_t base = (uintptr_t)param;
> +     uint8_t gws = (base >> 12) & 0xFF;
> +     uint64_t intr;
> +
> +     intr = otx2_read64(base + SSOW_LF_GWS_INT);
> +     if (intr == 0)
> +             return;
> +
> +     otx2_err("GWS %d GWS_INT=0x%" PRIx64 "", gws, intr);
> +
> +     /* Clear interrupt */
> +     otx2_write64(intr, base + SSOW_LF_GWS_INT);
> +
> +     abort();

Remove abort() from driver.



Reply via email to