Aliasing PPGTT [part 2]

This entry is part 2 of 4 in the series i915 object mapping

Overview Pictures are the right way to start. There is exactly one thing to get from the above drawing, everything else is just to make it as close to fact as possible. The aliasing PPGTT (aliases|shadows|mimics) the global GTT. The wordy overview Support for Per-process Graphics Translation Tables (PPGTT) debuted on Sandybridge (GEN6). The features […]

The Global GTT [Part 1]

This entry is part 1 of 4 in the series i915 object mapping

Global Graphics Translation Tables Here goes the basics of how the GEN GPU interacts with memory. It will be focused on the lowest levels of the i915 driver, and the hardware interaction. My hope is that by going through this in excruciating detail, I might be able to take more liberties in the future posts. […]

Eating my own dogfood – dynamic page table allocations

I don’t know if I’ve ever eaten my own dogfood that smells this risky. A few days ago, I published patches to support dynamic page table allocation and tear-down in the i915 driver This work will eventually help us support expanded page tables (similar to how things work for normal Linux page tables). The […]

i915 command submission via gem_exec_nop

EDIT1 (2014-07-12): Apologies to planets for update. Change b->B (bits to bytes) in the state walkthrough (thanks to Bernard Kilarski) Convert SVG images to PNG because they weren’t being rendered properly. Added TOC Use new style footnotes NOTE: With command parser merged, and execlists on the way – this post is already somewhat outdated. Disclaimer:¬†Everything […]

i915.ko authors, by the numbers

Because of some event I cannot remember, I was curious to see which developers had how many lines of code. It turned out to be more of a challenge than I thought (mostly because of Unicode). Here is the top 10 from the very latest drm-intel-nightly. >./ drivers/gpu/drm/i915/ total lines counted: 67417 (compare with git […]