gaudi2P.h (d26a3a6ce7e02f9c056ad992bcd9624735022337) gaudi2P.h (e1ef053e08c9b56c0de0635beea75466e97a7383)
1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * Copyright 2020-2022 HabanaLabs, Ltd.
4 * All Rights Reserved.
5 *
6 */
7
8#ifndef GAUDI2P_H_

--- 373 unchanged lines hidden (view full) ---

382 EDMA_ID_DCORE3_INSTANCE1,
383 EDMA_ID_SIZE,
384};
385
386/* User interrupt count is aligned with HW CQ count.
387 * We have 64 CQ's per dcore, CQ0 in dcore 0 is reserved for legacy mode
388 */
389#define GAUDI2_NUM_USER_INTERRUPTS 255
1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * Copyright 2020-2022 HabanaLabs, Ltd.
4 * All Rights Reserved.
5 *
6 */
7
8#ifndef GAUDI2P_H_

--- 373 unchanged lines hidden (view full) ---

382 EDMA_ID_DCORE3_INSTANCE1,
383 EDMA_ID_SIZE,
384};
385
386/* User interrupt count is aligned with HW CQ count.
387 * We have 64 CQ's per dcore, CQ0 in dcore 0 is reserved for legacy mode
388 */
389#define GAUDI2_NUM_USER_INTERRUPTS 255
390#define GAUDI2_NUM_RESERVED_INTERRUPTS 1
391#define GAUDI2_TOTAL_USER_INTERRUPTS (GAUDI2_NUM_USER_INTERRUPTS + GAUDI2_NUM_RESERVED_INTERRUPTS)
390
391enum gaudi2_irq_num {
392 GAUDI2_IRQ_NUM_EVENT_QUEUE = GAUDI2_EVENT_QUEUE_MSIX_IDX,
393 GAUDI2_IRQ_NUM_DCORE0_DEC0_NRM,
394 GAUDI2_IRQ_NUM_DCORE0_DEC0_ABNRM,
395 GAUDI2_IRQ_NUM_DCORE0_DEC1_NRM,
396 GAUDI2_IRQ_NUM_DCORE0_DEC1_ABNRM,
397 GAUDI2_IRQ_NUM_DCORE1_DEC0_NRM,

--- 7 unchanged lines hidden (view full) ---

405 GAUDI2_IRQ_NUM_DCORE3_DEC0_NRM,
406 GAUDI2_IRQ_NUM_DCORE3_DEC0_ABNRM,
407 GAUDI2_IRQ_NUM_DCORE3_DEC1_NRM,
408 GAUDI2_IRQ_NUM_DCORE3_DEC1_ABNRM,
409 GAUDI2_IRQ_NUM_SHARED_DEC0_NRM,
410 GAUDI2_IRQ_NUM_SHARED_DEC0_ABNRM,
411 GAUDI2_IRQ_NUM_SHARED_DEC1_NRM,
412 GAUDI2_IRQ_NUM_SHARED_DEC1_ABNRM,
392
393enum gaudi2_irq_num {
394 GAUDI2_IRQ_NUM_EVENT_QUEUE = GAUDI2_EVENT_QUEUE_MSIX_IDX,
395 GAUDI2_IRQ_NUM_DCORE0_DEC0_NRM,
396 GAUDI2_IRQ_NUM_DCORE0_DEC0_ABNRM,
397 GAUDI2_IRQ_NUM_DCORE0_DEC1_NRM,
398 GAUDI2_IRQ_NUM_DCORE0_DEC1_ABNRM,
399 GAUDI2_IRQ_NUM_DCORE1_DEC0_NRM,

--- 7 unchanged lines hidden (view full) ---

407 GAUDI2_IRQ_NUM_DCORE3_DEC0_NRM,
408 GAUDI2_IRQ_NUM_DCORE3_DEC0_ABNRM,
409 GAUDI2_IRQ_NUM_DCORE3_DEC1_NRM,
410 GAUDI2_IRQ_NUM_DCORE3_DEC1_ABNRM,
411 GAUDI2_IRQ_NUM_SHARED_DEC0_NRM,
412 GAUDI2_IRQ_NUM_SHARED_DEC0_ABNRM,
413 GAUDI2_IRQ_NUM_SHARED_DEC1_NRM,
414 GAUDI2_IRQ_NUM_SHARED_DEC1_ABNRM,
415 GAUDI2_IRQ_NUM_DEC_LAST = GAUDI2_IRQ_NUM_SHARED_DEC1_ABNRM,
413 GAUDI2_IRQ_NUM_COMPLETION,
414 GAUDI2_IRQ_NUM_NIC_PORT_FIRST,
415 GAUDI2_IRQ_NUM_NIC_PORT_LAST = (GAUDI2_IRQ_NUM_NIC_PORT_FIRST + NIC_NUMBER_OF_PORTS - 1),
416 GAUDI2_IRQ_NUM_COMPLETION,
417 GAUDI2_IRQ_NUM_NIC_PORT_FIRST,
418 GAUDI2_IRQ_NUM_NIC_PORT_LAST = (GAUDI2_IRQ_NUM_NIC_PORT_FIRST + NIC_NUMBER_OF_PORTS - 1),
419 GAUDI2_IRQ_NUM_TPC_ASSERT,
416 GAUDI2_IRQ_NUM_RESERVED_FIRST,
420 GAUDI2_IRQ_NUM_RESERVED_FIRST,
417 GAUDI2_IRQ_NUM_RESERVED_LAST = (GAUDI2_MSIX_ENTRIES - GAUDI2_NUM_USER_INTERRUPTS - 1),
418 GAUDI2_IRQ_NUM_USER_FIRST,
421 GAUDI2_IRQ_NUM_RESERVED_LAST = (GAUDI2_MSIX_ENTRIES - GAUDI2_TOTAL_USER_INTERRUPTS - 1),
422 GAUDI2_IRQ_NUM_UNEXPECTED_ERROR = RESERVED_MSIX_UNEXPECTED_USER_ERROR_INTERRUPT,
423 GAUDI2_IRQ_NUM_USER_FIRST = GAUDI2_IRQ_NUM_UNEXPECTED_ERROR + 1,
419 GAUDI2_IRQ_NUM_USER_LAST = (GAUDI2_IRQ_NUM_USER_FIRST + GAUDI2_NUM_USER_INTERRUPTS - 1),
420 GAUDI2_IRQ_NUM_LAST = (GAUDI2_MSIX_ENTRIES - 1)
421};
422
423static_assert(GAUDI2_IRQ_NUM_USER_FIRST > GAUDI2_IRQ_NUM_SHARED_DEC1_ABNRM);
424
425/**
426 * struct dup_block_ctx - context to initialize unit instances across multiple

--- 167 unchanged lines hidden ---
424 GAUDI2_IRQ_NUM_USER_LAST = (GAUDI2_IRQ_NUM_USER_FIRST + GAUDI2_NUM_USER_INTERRUPTS - 1),
425 GAUDI2_IRQ_NUM_LAST = (GAUDI2_MSIX_ENTRIES - 1)
426};
427
428static_assert(GAUDI2_IRQ_NUM_USER_FIRST > GAUDI2_IRQ_NUM_SHARED_DEC1_ABNRM);
429
430/**
431 * struct dup_block_ctx - context to initialize unit instances across multiple

--- 167 unchanged lines hidden ---