summaryrefslogtreecommitdiff
path: root/nvhw
diff options
context:
space:
mode:
authorMarcin Koƛcielnicki <koriakin@0x04.net>2016-11-15 19:35:26 +0100
committerMarcin Koƛcielnicki <koriakin@0x04.net>2016-11-15 19:35:26 +0100
commit9a0dd38eb54f9ab17354505d82e3d4a70dd2f62d (patch)
tree17cb4b27b5036d3938c8313cc1862971e0ab5776 /nvhw
parentd75468ce54a3f4af283300fdb0a9e4e68e9398dd (diff)
hwtest/nv04_pgraph: Make invalid mthd tests pass on NV10.
Diffstat (limited to 'nvhw')
-rw-r--r--nvhw/pgraph_xy4.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/nvhw/pgraph_xy4.c b/nvhw/pgraph_xy4.c
index 24ecd147..7d127a9a 100644
--- a/nvhw/pgraph_xy4.c
+++ b/nvhw/pgraph_xy4.c
@@ -497,16 +497,17 @@ void nv04_pgraph_volatile_reset(struct nv04_pgraph_state *state) {
void nv04_pgraph_blowup(struct nv04_pgraph_state *state, uint32_t nsource) {
uint32_t nstatus = 0;
+ int shift = state->chipset.card_type >= 0x10 ? 12 : 0;
if (nsource & 0x1000)
- nstatus |= 0x0800;
+ nstatus |= 0x0800 << shift;
if (nsource & 0x4a00)
- nstatus |= 0x1000;
+ nstatus |= 0x1000 << shift;
if (nsource & 0x0002)
- nstatus |= 0x2000;
+ nstatus |= 0x2000 << shift;
if (nsource & 0x0044)
- nstatus |= 0x4000;
+ nstatus |= 0x4000 << shift;
state->fifo_enable = 0;
- state->intr |= 1;
+ state->intr |= state->chipset.card_type >= 0x10 ? 0x100000 : 1;
state->nsource |= nsource;
state->nstatus |= nstatus;
}