Subversion Repositories Kolibri OS

Rev

Rev 6938 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6938 Rev 7146
Line 1669... Line 1669...
1669
			DRM_ERROR("bad SET PREDICATION\n");
1669
			DRM_ERROR("bad SET PREDICATION\n");
1670
			return -EINVAL;
1670
			return -EINVAL;
1671
		}
1671
		}
Line 1672... Line 1672...
1672
 
1672
 
1673
		offset = reloc->gpu_offset +
1673
		offset = reloc->gpu_offset +
1674
		         (idx_value & 0xfffffff0) +
1674
			 (idx_value & 0xfffffff0) +
Line 1675... Line 1675...
1675
		         ((u64)(tmp & 0xff) << 32);
1675
			 ((u64)(tmp & 0xff) << 32);
1676
 
1676
 
1677
		ib[idx + 0] = offset;
1677
		ib[idx + 0] = offset;
1678
		ib[idx + 1] = (tmp & 0xffffff00) | (upper_32_bits(offset) & 0xff);
1678
		ib[idx + 1] = (tmp & 0xffffff00) | (upper_32_bits(offset) & 0xff);
Line 1710... Line 1710...
1710
			DRM_ERROR("bad DRAW_INDEX\n");
1710
			DRM_ERROR("bad DRAW_INDEX\n");
1711
			return -EINVAL;
1711
			return -EINVAL;
1712
		}
1712
		}
Line 1713... Line 1713...
1713
 
1713
 
1714
		offset = reloc->gpu_offset +
1714
		offset = reloc->gpu_offset +
1715
		         idx_value +
1715
			 idx_value +
Line 1716... Line 1716...
1716
		         ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32);
1716
			 ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32);
1717
 
1717
 
Line 1718... Line 1718...
1718
		ib[idx+0] = offset;
1718
		ib[idx+0] = offset;
Line 1762... Line 1762...
1762
				DRM_ERROR("bad WAIT_REG_MEM\n");
1762
				DRM_ERROR("bad WAIT_REG_MEM\n");
1763
				return -EINVAL;
1763
				return -EINVAL;
1764
			}
1764
			}
Line 1765... Line 1765...
1765
 
1765
 
1766
			offset = reloc->gpu_offset +
1766
			offset = reloc->gpu_offset +
1767
			         (radeon_get_ib_value(p, idx+1) & 0xfffffff0) +
1767
				 (radeon_get_ib_value(p, idx+1) & 0xfffffff0) +
Line 1768... Line 1768...
1768
			         ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1768
				 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1769
 
1769
 
1770
			ib[idx+1] = (ib[idx+1] & 0x3) | (offset & 0xfffffff0);
1770
			ib[idx+1] = (ib[idx+1] & 0x3) | (offset & 0xfffffff0);
1771
			ib[idx+2] = upper_32_bits(offset) & 0xff;
1771
			ib[idx+2] = upper_32_bits(offset) & 0xff;
Line 1874... Line 1874...
1874
			if (r) {
1874
			if (r) {
1875
				DRM_ERROR("bad EVENT_WRITE\n");
1875
				DRM_ERROR("bad EVENT_WRITE\n");
1876
				return -EINVAL;
1876
				return -EINVAL;
1877
			}
1877
			}
1878
			offset = reloc->gpu_offset +
1878
			offset = reloc->gpu_offset +
1879
			         (radeon_get_ib_value(p, idx+1) & 0xfffffff8) +
1879
				 (radeon_get_ib_value(p, idx+1) & 0xfffffff8) +
1880
			         ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1880
				 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
Line 1881... Line 1881...
1881
 
1881
 
1882
			ib[idx+1] = offset & 0xfffffff8;
1882
			ib[idx+1] = offset & 0xfffffff8;
1883
			ib[idx+2] = upper_32_bits(offset) & 0xff;
1883
			ib[idx+2] = upper_32_bits(offset) & 0xff;
1884
		}
1884
		}
Line 1896... Line 1896...
1896
			DRM_ERROR("bad EVENT_WRITE\n");
1896
			DRM_ERROR("bad EVENT_WRITE\n");
1897
			return -EINVAL;
1897
			return -EINVAL;
1898
		}
1898
		}
Line 1899... Line 1899...
1899
 
1899
 
1900
		offset = reloc->gpu_offset +
1900
		offset = reloc->gpu_offset +
1901
		         (radeon_get_ib_value(p, idx+1) & 0xfffffffc) +
1901
			 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) +
Line 1902... Line 1902...
1902
		         ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1902
			 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1903
 
1903
 
1904
		ib[idx+1] = offset & 0xfffffffc;
1904
		ib[idx+1] = offset & 0xfffffffc;
1905
		ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff);
1905
		ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff);