| .. | .. |
|---|
| 34 | 34 | * Thomas Hellstrom. |
|---|
| 35 | 35 | */ |
|---|
| 36 | 36 | |
|---|
| 37 | | -#include <drm/drmP.h> |
|---|
| 37 | +#include <linux/delay.h> |
|---|
| 38 | +#include <linux/uaccess.h> |
|---|
| 39 | + |
|---|
| 40 | +#include <drm/drm.h> |
|---|
| 41 | +#include <drm/drm_agpsupport.h> |
|---|
| 42 | +#include <drm/drm_device.h> |
|---|
| 43 | +#include <drm/drm_file.h> |
|---|
| 38 | 44 | #include <drm/via_drm.h> |
|---|
| 45 | + |
|---|
| 39 | 46 | #include "via_drv.h" |
|---|
| 40 | 47 | #include "via_3d_reg.h" |
|---|
| 41 | 48 | |
|---|
| .. | .. |
|---|
| 430 | 437 | diff = (uint32_t) (ptr - reader) - dev_priv->dma_diff; |
|---|
| 431 | 438 | count = 10000000; |
|---|
| 432 | 439 | while (diff == 0 && count--) { |
|---|
| 433 | | - paused = (VIA_READ(0x41c) & 0x80000000); |
|---|
| 440 | + paused = (via_read(dev_priv, 0x41c) & 0x80000000); |
|---|
| 434 | 441 | if (paused) |
|---|
| 435 | 442 | break; |
|---|
| 436 | 443 | reader = *(dev_priv->hw_addr_ptr); |
|---|
| 437 | 444 | diff = (uint32_t) (ptr - reader) - dev_priv->dma_diff; |
|---|
| 438 | 445 | } |
|---|
| 439 | 446 | |
|---|
| 440 | | - paused = VIA_READ(0x41c) & 0x80000000; |
|---|
| 447 | + paused = via_read(dev_priv, 0x41c) & 0x80000000; |
|---|
| 441 | 448 | |
|---|
| 442 | 449 | if (paused && !no_pci_fire) { |
|---|
| 443 | 450 | reader = *(dev_priv->hw_addr_ptr); |
|---|
| .. | .. |
|---|
| 454 | 461 | * doesn't make a difference. |
|---|
| 455 | 462 | */ |
|---|
| 456 | 463 | |
|---|
| 457 | | - VIA_WRITE(VIA_REG_TRANSET, (HC_ParaType_PreCR << 16)); |
|---|
| 458 | | - VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_hi); |
|---|
| 459 | | - VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_lo); |
|---|
| 460 | | - VIA_READ(VIA_REG_TRANSPACE); |
|---|
| 464 | + via_write(dev_priv, VIA_REG_TRANSET, (HC_ParaType_PreCR << 16)); |
|---|
| 465 | + via_write(dev_priv, VIA_REG_TRANSPACE, pause_addr_hi); |
|---|
| 466 | + via_write(dev_priv, VIA_REG_TRANSPACE, pause_addr_lo); |
|---|
| 467 | + via_read(dev_priv, VIA_REG_TRANSPACE); |
|---|
| 461 | 468 | } |
|---|
| 462 | 469 | } |
|---|
| 463 | 470 | return paused; |
|---|
| .. | .. |
|---|
| 467 | 474 | { |
|---|
| 468 | 475 | int count = 10000000; |
|---|
| 469 | 476 | |
|---|
| 470 | | - while (!(VIA_READ(VIA_REG_STATUS) & VIA_VR_QUEUE_BUSY) && --count) |
|---|
| 477 | + while (!(via_read(dev_priv, VIA_REG_STATUS) & VIA_VR_QUEUE_BUSY) && --count) |
|---|
| 471 | 478 | ; |
|---|
| 472 | 479 | |
|---|
| 473 | | - while (count && (VIA_READ(VIA_REG_STATUS) & |
|---|
| 480 | + while (count && (via_read(dev_priv, VIA_REG_STATUS) & |
|---|
| 474 | 481 | (VIA_CMD_RGTR_BUSY | VIA_2D_ENG_BUSY | |
|---|
| 475 | 482 | VIA_3D_ENG_BUSY))) |
|---|
| 476 | 483 | --count; |
|---|
| .. | .. |
|---|
| 536 | 543 | via_flush_write_combine(); |
|---|
| 537 | 544 | (void) *(volatile uint32_t *)dev_priv->last_pause_ptr; |
|---|
| 538 | 545 | |
|---|
| 539 | | - VIA_WRITE(VIA_REG_TRANSET, (HC_ParaType_PreCR << 16)); |
|---|
| 540 | | - VIA_WRITE(VIA_REG_TRANSPACE, command); |
|---|
| 541 | | - VIA_WRITE(VIA_REG_TRANSPACE, start_addr_lo); |
|---|
| 542 | | - VIA_WRITE(VIA_REG_TRANSPACE, end_addr_lo); |
|---|
| 546 | + via_write(dev_priv, VIA_REG_TRANSET, (HC_ParaType_PreCR << 16)); |
|---|
| 547 | + via_write(dev_priv, VIA_REG_TRANSPACE, command); |
|---|
| 548 | + via_write(dev_priv, VIA_REG_TRANSPACE, start_addr_lo); |
|---|
| 549 | + via_write(dev_priv, VIA_REG_TRANSPACE, end_addr_lo); |
|---|
| 543 | 550 | |
|---|
| 544 | | - VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_hi); |
|---|
| 545 | | - VIA_WRITE(VIA_REG_TRANSPACE, pause_addr_lo); |
|---|
| 551 | + via_write(dev_priv, VIA_REG_TRANSPACE, pause_addr_hi); |
|---|
| 552 | + via_write(dev_priv, VIA_REG_TRANSPACE, pause_addr_lo); |
|---|
| 546 | 553 | wmb(); |
|---|
| 547 | | - VIA_WRITE(VIA_REG_TRANSPACE, command | HC_HAGPCMNT_MASK); |
|---|
| 548 | | - VIA_READ(VIA_REG_TRANSPACE); |
|---|
| 554 | + via_write(dev_priv, VIA_REG_TRANSPACE, command | HC_HAGPCMNT_MASK); |
|---|
| 555 | + via_read(dev_priv, VIA_REG_TRANSPACE); |
|---|
| 549 | 556 | |
|---|
| 550 | 557 | dev_priv->dma_diff = 0; |
|---|
| 551 | 558 | |
|---|
| 552 | 559 | count = 10000000; |
|---|
| 553 | | - while (!(VIA_READ(0x41c) & 0x80000000) && count--); |
|---|
| 560 | + while (!(via_read(dev_priv, 0x41c) & 0x80000000) && count--); |
|---|
| 554 | 561 | |
|---|
| 555 | 562 | reader = *(dev_priv->hw_addr_ptr); |
|---|
| 556 | 563 | ptr = ((volatile char *)dev_priv->last_pause_ptr - dev_priv->dma_ptr) + |
|---|