static void fill_async_readquad(struct hpsb_packet *packet, u64 addr) { PREP_ASYNC_HEAD_ADDRESS(TCODE_READQ); packet->header_size = 12; packet->data_size = 0; packet->expect_response = 1; }
/** * @ingroup trans * @anchor fill_async_writequad */ static void fill_async_writequad(struct hpsb_packet *packet, u64 addr, quadlet_t data) { PREP_ASYNC_HEAD_ADDRESS(TCODE_WRITEQ); packet->header[3] = data; packet->header_size = 16; packet->data_size = 0; packet->expect_response = 1; }
/** * @ingroup trans * @anchor fill_async_writeblock */ static void fill_async_writeblock(struct hpsb_packet *packet, u64 addr, int length) { PREP_ASYNC_HEAD_ADDRESS(TCODE_WRITEB); packet->header[3] = length << 16; packet->header_size = 16; packet->expect_response = 1; packet->data_size = length + (length % 4 ? 4 - (length % 4) : 0); }
/** * @ingroup trans * @anchor fill_async_readblock */ static void fill_async_readblock(struct hpsb_packet *packet, u64 addr, int length) { PREP_ASYNC_HEAD_ADDRESS(TCODE_READB); packet->header[3] = length << 16; packet->header_size = 16; packet->data_size = 0; packet->expect_response = 1; }
static void fill_async_lock(struct hpsb_packet *packet, u64 addr, int extcode, int length) { PREP_ASYNC_HEAD_ADDRESS(TCODE_LOCK_REQUEST); packet->header[3] = (length << 16) | extcode; packet->header_size = 16; packet->data_size = length; packet->expect_response = 1; }