u32 pci_read_long(struct pci_dev *d, int pos) { u32 buf; pci_read_data(d, &buf, pos, 4); return buf; }
word pci_read_word(struct pci_dev *d, int pos) { word buf; pci_read_data(d, &buf, pos, 2); return buf; }
byte pci_read_byte(struct pci_dev *d, int pos) { byte buf; pci_read_data(d, &buf, pos, 1); return buf; }
u32 pci_read_long(struct pci_dev *d, int pos) { u32 buf; pci_read_data(d, &buf, pos, 4); return le32_to_cpu(buf); }
word pci_read_word(struct pci_dev *d, int pos) { word buf; pci_read_data(d, &buf, pos, 2); return le16_to_cpu(buf); }
void legup_seq_calc_mandel(double mandel_scale, double mandel_cx, double mandel_cy, void *mandel_tex, int mandel_tex_w, int mandel_max_iter, int mandel_width, int mandel_height) { char LEGUP_BUF[48] = {}; int LEGUP_STATUS = 1; *(double *) (LEGUP_BUF + 4) = mandel_scale; *(double *) (LEGUP_BUF + 12) = mandel_cx; *(double *) (LEGUP_BUF + 20) = mandel_cy; *(int *) (LEGUP_BUF + 28) = mandel_tex; *(int *) (LEGUP_BUF + 32) = mandel_tex_w; *(int *) (LEGUP_BUF + 36) = mandel_max_iter; *(int *) (LEGUP_BUF + 40) = mandel_width; *(int *) (LEGUP_BUF + 44) = mandel_height; pci_write_data(LEGUP_BUF, sizeof(LEGUP_BUF), (int)(calc_mandel_STATUS)); pci_write_data(&LEGUP_STATUS, sizeof(LEGUP_STATUS), (int)(calc_mandel_STATUS)); pci_dma_go(); do { pci_read_data(&LEGUP_STATUS, sizeof(LEGUP_STATUS), (int)(calc_mandel_STATUS)); pci_dma_go(); } while (LEGUP_STATUS == 0); }
Pci_data_reg pci_read_addr_data(Pci_conf_reg* const pcr, uint8_t addr) { pcr->reg_addr = addr; return pci_read_data(*pcr); }