lkml.org 
[lkml]   [2019]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 05/15] habanalabs: use EQ MSI/X ID per chip
    Date
    The Event Queue MSI/X ID is different per ASIC. This patch renames the
    current define to have the GOYA_ prefix to mark it only for Goya. It also
    moves it from the common armcp_if.h file to the ASIC specific goya_fw_if.h
    file.

    Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
    ---
    drivers/misc/habanalabs/goya/goya.c | 8 ++++----
    drivers/misc/habanalabs/include/armcp_if.h | 2 --
    drivers/misc/habanalabs/include/goya/goya_fw_if.h | 2 ++
    3 files changed, 6 insertions(+), 6 deletions(-)

    diff --git a/drivers/misc/habanalabs/goya/goya.c b/drivers/misc/habanalabs/goya/goya.c
    index a578d01a56a6..6ba0faa979bd 100644
    --- a/drivers/misc/habanalabs/goya/goya.c
    +++ b/drivers/misc/habanalabs/goya/goya.c
    @@ -2205,10 +2205,10 @@ static int goya_enable_msix(struct hl_device *hdev)
    }
    }

    - irq = pci_irq_vector(hdev->pdev, EVENT_QUEUE_MSIX_IDX);
    + irq = pci_irq_vector(hdev->pdev, GOYA_EVENT_QUEUE_MSIX_IDX);

    rc = request_irq(irq, hl_irq_handler_eq, 0,
    - goya_irq_name[EVENT_QUEUE_MSIX_IDX],
    + goya_irq_name[GOYA_EVENT_QUEUE_MSIX_IDX],
    &hdev->event_queue);
    if (rc) {
    dev_err(hdev->dev, "Failed to request IRQ %d", irq);
    @@ -2239,7 +2239,7 @@ static void goya_sync_irqs(struct hl_device *hdev)
    for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++)
    synchronize_irq(pci_irq_vector(hdev->pdev, i));

    - synchronize_irq(pci_irq_vector(hdev->pdev, EVENT_QUEUE_MSIX_IDX));
    + synchronize_irq(pci_irq_vector(hdev->pdev, GOYA_EVENT_QUEUE_MSIX_IDX));
    }

    static void goya_disable_msix(struct hl_device *hdev)
    @@ -2252,7 +2252,7 @@ static void goya_disable_msix(struct hl_device *hdev)

    goya_sync_irqs(hdev);

    - irq = pci_irq_vector(hdev->pdev, EVENT_QUEUE_MSIX_IDX);
    + irq = pci_irq_vector(hdev->pdev, GOYA_EVENT_QUEUE_MSIX_IDX);
    free_irq(irq, &hdev->event_queue);

    for (i = 0 ; i < hdev->asic_prop.completion_queues_count ; i++) {
    diff --git a/drivers/misc/habanalabs/include/armcp_if.h b/drivers/misc/habanalabs/include/armcp_if.h
    index ccb82390241e..c8f28cadc335 100644
    --- a/drivers/misc/habanalabs/include/armcp_if.h
    +++ b/drivers/misc/habanalabs/include/armcp_if.h
    @@ -32,8 +32,6 @@ struct hl_eq_entry {
    #define EQ_CTL_EVENT_TYPE_SHIFT 16
    #define EQ_CTL_EVENT_TYPE_MASK 0x03FF0000

    -#define EVENT_QUEUE_MSIX_IDX 5
    -
    enum pq_init_status {
    PQ_INIT_STATUS_NA = 0,
    PQ_INIT_STATUS_READY_FOR_CP,
    diff --git a/drivers/misc/habanalabs/include/goya/goya_fw_if.h b/drivers/misc/habanalabs/include/goya/goya_fw_if.h
    index a9920cb4a07b..0fa80fe9f6cc 100644
    --- a/drivers/misc/habanalabs/include/goya/goya_fw_if.h
    +++ b/drivers/misc/habanalabs/include/goya/goya_fw_if.h
    @@ -8,6 +8,8 @@
    #ifndef GOYA_FW_IF_H
    #define GOYA_FW_IF_H

    +#define GOYA_EVENT_QUEUE_MSIX_IDX 5
    +
    #define CPU_BOOT_ADDR 0x7FF8040000ull

    #define UBOOT_FW_OFFSET 0x100000 /* 1MB in SRAM */
    --
    2.17.1
    \
     
     \ /
      Last update: 2019-03-17 21:00    [W:2.395 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site