Lines Matching refs:addr

59 static uint8_t read_b(xf86Int10InfoPtr pInt, int addr);
60 static uint16_t read_w(xf86Int10InfoPtr pInt, int addr);
61 static uint32_t read_l(xf86Int10InfoPtr pInt, int addr);
62 static void write_b(xf86Int10InfoPtr pInt, int addr, uint8_t val);
63 static void write_w(xf86Int10InfoPtr pInt, int addr, uint16_t val);
64 static void write_l(xf86Int10InfoPtr pInt, int addr, uint32_t val);
375 #define OFF(addr) ((addr) & 0xffff)
383 #define SYS(addr) ((addr) >= HIGH_OFFSET)
384 #define V_ADDR(addr) \
385 (SYS(addr) ? ((char*)INTPriv(pInt)->sysMem) + (addr - HIGH_BASE) \
386 : (((char*)(INTPriv(pInt)->base) + addr)))
387 #define VRAM_ADDR(addr) (addr - V_RAM)
390 #define VRAM(addr) ((addr >= V_RAM) && (addr < (V_RAM + VRAM_SIZE)))
391 #define V_ADDR_RB(addr) \
392 ((VRAM(addr)) ? MMIO_IN8((uint8_t*)VRAM_BASE,VRAM_ADDR(addr)) \
393 : *(uint8_t*) V_ADDR(addr))
394 #define V_ADDR_RW(addr) \
395 ((VRAM(addr)) ? MMIO_IN16((uint16_t*)VRAM_BASE,VRAM_ADDR(addr)) \
396 : ldw_u((void *)V_ADDR(addr)))
397 #define V_ADDR_RL(addr) \
398 ((VRAM(addr)) ? MMIO_IN32((uint32_t*)VRAM_BASE,VRAM_ADDR(addr)) \
399 : ldl_u((void *)V_ADDR(addr)))
401 #define V_ADDR_WB(addr,val) \
402 if(VRAM(addr)) \
403 MMIO_OUT8((uint8_t*)VRAM_BASE,VRAM_ADDR(addr),val); \
405 *(uint8_t*) V_ADDR(addr) = val;
406 #define V_ADDR_WW(addr,val) \
407 if(VRAM(addr)) \
408 MMIO_OUT16((uint16_t*)VRAM_BASE,VRAM_ADDR(addr),val); \
410 stw_u((val),(void *)(V_ADDR(addr)));
412 #define V_ADDR_WL(addr,val) \
413 if (VRAM(addr)) \
414 MMIO_OUT32((uint32_t*)VRAM_BASE,VRAM_ADDR(addr),val); \
416 stl_u(val,(void *)(V_ADDR(addr)));
419 read_b(xf86Int10InfoPtr pInt, int addr)
421 return V_ADDR_RB(addr);
425 read_w(xf86Int10InfoPtr pInt, int addr)
428 if (OFF(addr + 1) > 0)
429 return V_ADDR_RW(addr);
431 return V_ADDR_RB(addr) | (V_ADDR_RB(addr + 1) << 8);
435 read_l(xf86Int10InfoPtr pInt, int addr)
438 if (OFF(addr + 3) > 2)
439 return V_ADDR_RL(addr);
441 return V_ADDR_RB(addr) |
442 (V_ADDR_RB(addr + 1) << 8) |
443 (V_ADDR_RB(addr + 2) << 16) | (V_ADDR_RB(addr + 3) << 24);
447 write_b(xf86Int10InfoPtr pInt, int addr, uint8_t val)
449 V_ADDR_WB(addr, val);
453 write_w(xf86Int10InfoPtr pInt, int addr, CARD16 val)
456 if (OFF(addr + 1) > 0) {
457 V_ADDR_WW(addr, val);
460 V_ADDR_WB(addr, val);
461 V_ADDR_WB(addr + 1, val >> 8);
465 write_l(xf86Int10InfoPtr pInt, int addr, uint32_t val)
468 if (OFF(addr + 3) > 2) {
469 V_ADDR_WL(addr, val);
472 V_ADDR_WB(addr, val);
473 V_ADDR_WB(addr + 1, val >> 8);
474 V_ADDR_WB(addr + 2, val >> 16);
475 V_ADDR_WB(addr + 3, val >> 24);
479 xf86int10Addr(xf86Int10InfoPtr pInt, uint32_t addr)
481 return V_ADDR(addr);