node-drivers/base-driver/drivers/vca/plx87xx/plx_main.c
static void plx_dp_notify(struct plx_device *xdev)
{
	u32 notify;
	dev_info(&xdev->pdev->dev, "%s writing dp_dma_addr:%llx\n",
		__func__, xdev->dp_dma_addr);
	plx_set_dp_addr(xdev, xdev->dp_dma_addr);

	if(!(xdev->card_type & VCA_PRODUCTION)) {
		notify = plx_read_spad(xdev, PLX_HSDB_SPAD);
		if((notify & PLX_HSDB_MASK) >> PLX_HSDB_SHIFT == PLX_HSDB_CMD) {
			dev_info(&xdev->pdev->dev,
				"Send doorbell %d\n", notify & ~PLX_HSDB_MASK);
			plx_send_intr(xdev, notify & ~PLX_HSDB_MASK);
		}
		xdev->hs_done = true;
	}
}
/* Notify remote side about initialized DP*/
Notify remote side about initialized DP
Notify remote side about initialized DP
static void plx_dp_notify(struct plx_device *xdev)
{
	u32 notify;
	dev_info(&xdev->pdev->dev, "%s writing dp_dma_addr:%llx\n",
		__func__, xdev->dp_dma_addr);
	plx_set_dp_addr(xdev, xdev->dp_dma_addr);
	if(!(xdev->card_type & VCA_PRODUCTION)) {
		notify = plx_read_spad(xdev, PLX_HSDB_SPAD);
		if((notify & PLX_HSDB_MASK) >> PLX_HSDB_SHIFT == PLX_HSDB_CMD) {
			dev_info(&xdev->pdev->dev,
				"Send doorbell %d\n", notify & ~PLX_HSDB_MASK);
			plx_send_intr(xdev, notify & ~PLX_HSDB_MASK);
		}
		xdev->hs_done = true;
	}
}
static void plx_dp_notify ( struct plx_device * xdev ) { u32 notify ; dev_info ( & xdev -> pdev -> dev , " \n " , __func__ , xdev -> dp_dma_addr ) ; plx_set_dp_addr ( xdev , xdev -> dp_dma_addr ) ; if ( ! ( xdev -> card_type & VCA_PRODUCTION ) ) { notify = plx_read_spad ( xdev , PLX_HSDB_SPAD ) ; if ( ( notify & PLX_HSDB_MASK ) >> PLX_HSDB_SHIFT == PLX_HSDB_CMD ) { dev_info ( & xdev -> pdev -> dev , " \n " , notify & ~ PLX_HSDB_MASK ) ; plx_send_intr ( xdev , notify & ~ PLX_HSDB_MASK ) ; } xdev -> hs_done = true ; } }
Notify remote side about initialized DP
Notify remote side about initialized DP