[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