RVU_DEBUG_FOPS(rsrc_status, rsrc_attach_status, NULL);
 
-static bool rvu_dbg_is_valid_lf(struct rvu *rvu, int blktype, int lf,
+static bool rvu_dbg_is_valid_lf(struct rvu *rvu, int blkaddr, int lf,
                                u16 *pcifunc)
 {
        struct rvu_block *block;
        struct rvu_hwinfo *hw;
-       int blkaddr;
-
-       blkaddr = rvu_get_blkaddr(rvu, blktype, 0);
-       if (blkaddr < 0) {
-               dev_warn(rvu->dev, "Invalid blktype\n");
-               return false;
-       }
 
        hw = rvu->hw;
        block = &hw->block[blkaddr];
 {
        void (*print_qsize)(struct seq_file *filp,
                            struct rvu_pfvf *pfvf) = NULL;
+       struct dentry *current_dir;
        struct rvu_pfvf *pfvf;
        struct rvu *rvu;
        int qsize_id;
        u16 pcifunc;
+       int blkaddr;
 
        rvu = filp->private;
        switch (blktype) {
                return -EINVAL;
        }
 
-       if (!rvu_dbg_is_valid_lf(rvu, blktype, qsize_id, &pcifunc))
+       if (blktype == BLKTYPE_NPA) {
+               blkaddr = BLKADDR_NPA;
+       } else {
+               current_dir = filp->file->f_path.dentry->d_parent;
+               blkaddr = (!strcmp(current_dir->d_name.name, "nix1") ?
+                                  BLKADDR_NIX1 : BLKADDR_NIX0);
+       }
+
+       if (!rvu_dbg_is_valid_lf(rvu, blkaddr, qsize_id, &pcifunc))
                return -EINVAL;
 
        pfvf = rvu_get_pfvf(rvu, pcifunc);
        struct seq_file *seqfile = filp->private_data;
        char *cmd_buf, *cmd_buf_tmp, *subtoken;
        struct rvu *rvu = seqfile->private;
+       struct dentry *current_dir;
+       int blkaddr;
        u16 pcifunc;
        int ret, lf;
 
                goto qsize_write_done;
        }
 
-       if (!rvu_dbg_is_valid_lf(rvu, blktype, lf, &pcifunc)) {
+       if (blktype == BLKTYPE_NPA) {
+               blkaddr = BLKADDR_NPA;
+       } else {
+               current_dir = filp->f_path.dentry->d_parent;
+               blkaddr = (!strcmp(current_dir->d_name.name, "nix1") ?
+                                  BLKADDR_NIX1 : BLKADDR_NIX0);
+       }
+
+       if (!rvu_dbg_is_valid_lf(rvu, blkaddr, lf, &pcifunc)) {
                ret = -EINVAL;
                goto qsize_write_done;
        }
                return -EINVAL;
        }
 
-       if (!rvu_dbg_is_valid_lf(rvu, BLKTYPE_NPA, npalf, &pcifunc))
+       if (!rvu_dbg_is_valid_lf(rvu, BLKADDR_NPA, npalf, &pcifunc))
                return -EINVAL;
 
        pfvf = rvu_get_pfvf(rvu, pcifunc);
        int max_id = 0;
        u16 pcifunc;
 
-       if (!rvu_dbg_is_valid_lf(rvu, BLKTYPE_NPA, npalf, &pcifunc))
+       if (!rvu_dbg_is_valid_lf(rvu, BLKADDR_NPA, npalf, &pcifunc))
                return -EINVAL;
 
        pfvf = rvu_get_pfvf(rvu, pcifunc);
                            int ctype, int transaction)
 {
        u64 req, out_req, lat, cant_alloc;
-       struct rvu *rvu = s->private;
+       struct nix_hw *nix_hw;
+       struct rvu *rvu;
        int port;
 
+       if (blk_addr == BLKADDR_NDC_NPA0) {
+               rvu = s->private;
+       } else {
+               nix_hw = s->private;
+               rvu = nix_hw->rvu;
+       }
+
        for (port = 0; port < NDC_MAX_PORT; port++) {
                req = rvu_read64(rvu, blk_addr, NDC_AF_PORTX_RTX_RWX_REQ_PC
                                                (port, ctype, transaction));
 
 static int ndc_blk_hits_miss_stats(struct seq_file *s, int idx, int blk_addr)
 {
-       struct rvu *rvu = s->private;
+       struct nix_hw *nix_hw;
+       struct rvu *rvu;
        int bank, max_bank;
 
+       if (blk_addr == BLKADDR_NDC_NPA0) {
+               rvu = s->private;
+       } else {
+               nix_hw = s->private;
+               rvu = nix_hw->rvu;
+       }
+
        max_bank = NDC_MAX_BANK(rvu, blk_addr);
        for (bank = 0; bank < max_bank; bank++) {
                seq_printf(s, "BANK:%d\n", bank);
 
 static int rvu_dbg_nix_ndc_rx_cache_display(struct seq_file *filp, void *unused)
 {
-       return ndc_blk_cache_stats(filp, NIX0_RX,
-                                  BLKADDR_NDC_NIX0_RX);
+       struct nix_hw *nix_hw = filp->private;
+       int blkaddr = 0;
+       int ndc_idx = 0;
+
+       blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ?
+                  BLKADDR_NDC_NIX1_RX : BLKADDR_NDC_NIX0_RX);
+       ndc_idx = (nix_hw->blkaddr == BLKADDR_NIX1 ? NIX1_RX : NIX0_RX);
+
+       return ndc_blk_cache_stats(filp, ndc_idx, blkaddr);
 }
 
 RVU_DEBUG_SEQ_FOPS(nix_ndc_rx_cache, nix_ndc_rx_cache_display, NULL);
 
 static int rvu_dbg_nix_ndc_tx_cache_display(struct seq_file *filp, void *unused)
 {
-       return ndc_blk_cache_stats(filp, NIX0_TX,
-                                  BLKADDR_NDC_NIX0_TX);
+       struct nix_hw *nix_hw = filp->private;
+       int blkaddr = 0;
+       int ndc_idx = 0;
+
+       blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ?
+                  BLKADDR_NDC_NIX1_TX : BLKADDR_NDC_NIX0_TX);
+       ndc_idx = (nix_hw->blkaddr == BLKADDR_NIX1 ? NIX1_TX : NIX0_TX);
+
+       return ndc_blk_cache_stats(filp, ndc_idx, blkaddr);
 }
 
 RVU_DEBUG_SEQ_FOPS(nix_ndc_tx_cache, nix_ndc_tx_cache_display, NULL);
 static int rvu_dbg_nix_ndc_rx_hits_miss_display(struct seq_file *filp,
                                                void *unused)
 {
-       return ndc_blk_hits_miss_stats(filp,
-                                     NPA0_U, BLKADDR_NDC_NIX0_RX);
+       struct nix_hw *nix_hw = filp->private;
+       int ndc_idx = NPA0_U;
+       int blkaddr = 0;
+
+       blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ?
+                  BLKADDR_NDC_NIX1_RX : BLKADDR_NDC_NIX0_RX);
+
+       return ndc_blk_hits_miss_stats(filp, ndc_idx, blkaddr);
 }
 
 RVU_DEBUG_SEQ_FOPS(nix_ndc_rx_hits_miss, nix_ndc_rx_hits_miss_display, NULL);
 static int rvu_dbg_nix_ndc_tx_hits_miss_display(struct seq_file *filp,
                                                void *unused)
 {
-       return ndc_blk_hits_miss_stats(filp,
-                                     NPA0_U, BLKADDR_NDC_NIX0_TX);
+       struct nix_hw *nix_hw = filp->private;
+       int ndc_idx = NPA0_U;
+       int blkaddr = 0;
+
+       blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ?
+                  BLKADDR_NDC_NIX1_TX : BLKADDR_NDC_NIX0_TX);
+
+       return ndc_blk_hits_miss_stats(filp, ndc_idx, blkaddr);
 }
 
 RVU_DEBUG_SEQ_FOPS(nix_ndc_tx_hits_miss, nix_ndc_tx_hits_miss_display, NULL);
 {
        void (*print_nix_ctx)(struct seq_file *filp,
                              struct nix_aq_enq_rsp *rsp) = NULL;
-       struct rvu *rvu = filp->private;
+       struct nix_hw *nix_hw = filp->private;
+       struct rvu *rvu = nix_hw->rvu;
        struct nix_aq_enq_req aq_req;
        struct nix_aq_enq_rsp rsp;
        char *ctype_string = NULL;
                return -EINVAL;
        }
 
-       if (!rvu_dbg_is_valid_lf(rvu, BLKTYPE_NIX, nixlf, &pcifunc))
+       if (!rvu_dbg_is_valid_lf(rvu, nix_hw->blkaddr, nixlf, &pcifunc))
                return -EINVAL;
 
        pfvf = rvu_get_pfvf(rvu, pcifunc);
 }
 
 static int write_nix_queue_ctx(struct rvu *rvu, bool all, int nixlf,
-                              int id, int ctype, char *ctype_string)
+                              int id, int ctype, char *ctype_string,
+                              struct seq_file *m)
 {
+       struct nix_hw *nix_hw = m->private;
        struct rvu_pfvf *pfvf;
        int max_id = 0;
        u16 pcifunc;
 
-       if (!rvu_dbg_is_valid_lf(rvu, BLKTYPE_NIX, nixlf, &pcifunc))
+       if (!rvu_dbg_is_valid_lf(rvu, nix_hw->blkaddr, nixlf, &pcifunc))
                return -EINVAL;
 
        pfvf = rvu_get_pfvf(rvu, pcifunc);
                                           int ctype)
 {
        struct seq_file *m = filp->private_data;
-       struct rvu *rvu = m->private;
+       struct nix_hw *nix_hw = m->private;
+       struct rvu *rvu = nix_hw->rvu;
        char *cmd_buf, *ctype_string;
        int nixlf, id = 0, ret;
        bool all = false;
                goto done;
        } else {
                ret = write_nix_queue_ctx(rvu, all, nixlf, id, ctype,
-                                         ctype_string);
+                                         ctype_string, m);
        }
 done:
        kfree(cmd_buf);
 
 RVU_DEBUG_SEQ_FOPS(nix_qsize, nix_qsize_display, nix_qsize_write);
 
-static void rvu_dbg_nix_init(struct rvu *rvu)
+static void rvu_dbg_nix_init(struct rvu *rvu, int blkaddr)
 {
        const struct device *dev = &rvu->pdev->dev;
+       struct nix_hw *nix_hw;
        struct dentry *pfile;
 
-       rvu->rvu_dbg.nix = debugfs_create_dir("nix", rvu->rvu_dbg.root);
-       if (!rvu->rvu_dbg.nix) {
-               dev_err(rvu->dev, "create debugfs dir failed for nix\n");
+       if (!is_block_implemented(rvu->hw, blkaddr))
                return;
+
+       if (blkaddr == BLKADDR_NIX0) {
+               rvu->rvu_dbg.nix = debugfs_create_dir("nix", rvu->rvu_dbg.root);
+               if (!rvu->rvu_dbg.nix) {
+                       dev_err(rvu->dev, "create debugfs dir failed for nix\n");
+                       return;
+               }
+               nix_hw = &rvu->hw->nix[0];
+       } else {
+               rvu->rvu_dbg.nix = debugfs_create_dir("nix1",
+                                                     rvu->rvu_dbg.root);
+               if (!rvu->rvu_dbg.nix) {
+                       dev_err(rvu->dev,
+                               "create debugfs dir failed for nix1\n");
+                       return;
+               }
+               nix_hw = &rvu->hw->nix[1];
        }
 
-       pfile = debugfs_create_file("sq_ctx", 0600, rvu->rvu_dbg.nix, rvu,
+       pfile = debugfs_create_file("sq_ctx", 0600, rvu->rvu_dbg.nix, nix_hw,
                                    &rvu_dbg_nix_sq_ctx_fops);
        if (!pfile)
                goto create_failed;
 
-       pfile = debugfs_create_file("rq_ctx", 0600, rvu->rvu_dbg.nix, rvu,
+       pfile = debugfs_create_file("rq_ctx", 0600, rvu->rvu_dbg.nix, nix_hw,
                                    &rvu_dbg_nix_rq_ctx_fops);
        if (!pfile)
                goto create_failed;
 
-       pfile = debugfs_create_file("cq_ctx", 0600, rvu->rvu_dbg.nix, rvu,
+       pfile = debugfs_create_file("cq_ctx", 0600, rvu->rvu_dbg.nix, nix_hw,
                                    &rvu_dbg_nix_cq_ctx_fops);
        if (!pfile)
                goto create_failed;
 
-       pfile = debugfs_create_file("ndc_tx_cache", 0600, rvu->rvu_dbg.nix, rvu,
-                                   &rvu_dbg_nix_ndc_tx_cache_fops);
+       pfile = debugfs_create_file("ndc_tx_cache", 0600, rvu->rvu_dbg.nix,
+                                   nix_hw, &rvu_dbg_nix_ndc_tx_cache_fops);
        if (!pfile)
                goto create_failed;
 
-       pfile = debugfs_create_file("ndc_rx_cache", 0600, rvu->rvu_dbg.nix, rvu,
-                                   &rvu_dbg_nix_ndc_rx_cache_fops);
+       pfile = debugfs_create_file("ndc_rx_cache", 0600, rvu->rvu_dbg.nix,
+                                   nix_hw, &rvu_dbg_nix_ndc_rx_cache_fops);
        if (!pfile)
                goto create_failed;
 
        pfile = debugfs_create_file("ndc_tx_hits_miss", 0600, rvu->rvu_dbg.nix,
-                                   rvu, &rvu_dbg_nix_ndc_tx_hits_miss_fops);
+                                   nix_hw,
+                                   &rvu_dbg_nix_ndc_tx_hits_miss_fops);
        if (!pfile)
                goto create_failed;
 
        pfile = debugfs_create_file("ndc_rx_hits_miss", 0600, rvu->rvu_dbg.nix,
-                                   rvu, &rvu_dbg_nix_ndc_rx_hits_miss_fops);
+                                   nix_hw,
+                                   &rvu_dbg_nix_ndc_rx_hits_miss_fops);
        if (!pfile)
                goto create_failed;
 
 
        return;
 create_failed:
-       dev_err(dev, "Failed to create debugfs dir/file for NIX\n");
+       dev_err(dev,
+               "Failed to create debugfs dir/file for NIX blk\n");
        debugfs_remove_recursive(rvu->rvu_dbg.nix);
 }
 
                goto create_failed;
 
        rvu_dbg_npa_init(rvu);
-       rvu_dbg_nix_init(rvu);
+       rvu_dbg_nix_init(rvu, BLKADDR_NIX0);
+
+       rvu_dbg_nix_init(rvu, BLKADDR_NIX1);
        rvu_dbg_cgx_init(rvu);
        rvu_dbg_npc_init(rvu);