[Prism54-devel] main prism54 PCI driver question

Jean-Baptiste Note jean-baptiste.note at wanadoo.fr
Mon Mar 14 18:49:41 UTC 2005


Dear list,

I'm investigating tonight the fullmac/softmac differences pci-wise, and have a
question about the "control block" :

(fullmac driver control block)
struct isl38xx_cb {
	u32 driver_curr_frag[ISL38XX_CB_QCOUNT];
	u32 device_curr_frag[ISL38XX_CB_QCOUNT];
	isl38xx_fragment rx_data_low[ISL38XX_CB_RX_QSIZE];
	isl38xx_fragment tx_data_low[ISL38XX_CB_TX_QSIZE];
	isl38xx_fragment rx_data_high[ISL38XX_CB_RX_QSIZE];
	isl38xx_fragment tx_data_high[ISL38XX_CB_TX_QSIZE];
	isl38xx_fragment rx_data_mgmt[ISL38XX_CB_MGMT_QSIZE];
	isl38xx_fragment tx_data_mgmt[ISL38XX_CB_MGMT_QSIZE];
};

(softmac control block)
struct control_block
{
    uint32_t driver_curr_frag[CB_QCOUNT];
    uint32_t device_curr_frag[CB_QCOUNT];
    struct fragment rx_data[CB_RX_DATA_QSIZE];
    struct fragment tx_data[CB_TX_DATA_QSIZE];
    struct fragment rx_control[CB_RX_CTRL_QSIZE];
    struct fragment tx_control[CB_TX_CTRL_QSIZE];
};

>From what i understand, this structure is shared with the PCI Card and
controls the DMA engine. This seems to be the case for the softmac
driver too, though the structure is a bit different (the frag struct is
not the same either). Is this true, or am i missing something ?

If this is the case, why isn't it declared __attribute__(packed) (along
with the fragment struct); to prevent compiler reorganization of the
fields ?

Thanks for any time you could dedicate to answer this !

-- 
Jean-Baptiste Note
+33 (0)6 83 03 42 38
jean-baptiste.note at wanadoo.fr


More information about the Prism54-devel mailing list