Linux 5.13 - Another Step In Prepping Intel Discrete Graphics, Preferring Local Memory
Over the past two years we have seen a lot of Intel Linux kernel graphics driver work in preparing to support Intel discrete graphics cards. That work is still ongoing even for the DG1 graphics card that has been sampling to customers while Linux 5.13 will take things another step forward this summer.
Much of Intel's discrete GPU bring-up for Linux has been restructuring of their i915 kernel driver to handle device-local memory. Up to now with their exclusively integrated graphics focus their video memory handling has been much simpler and made assumptions about always using system RAM. But now with discrete GPUs and having dedicated video memory, over the past two years has been a lot of video memory code changes to their driver as part of their bring-up for DG1 and future discrete graphics processors.
With the Linux 5.13 kernel due out this summer, there are more preparations for local/device memory support with the DG1. With this kernel in fact it will finally start using that local memory for kernel-internal memory allocations. The Intel DG1 software development vehicle has 3GB of LPDDR4X memory... It might as well use it - getting all the bits aligned has been a lengthy process.
For discrete Intel graphics, Linux 5.13+ will start preferring to use local memory (LMEM) for allocating memory for contexts, ring and engine scratch memory. For non-discrete Intel graphics, the behavior is of course unchanged.
The change to use local memory for such allocations with the Intel discrete graphics was sent in today to DRM-Next ahead of the Linux 5.13 cycle opening in a few weeks. That pull request also has a Sandy Bridge fix to avoid hard hangs on ring resume, limiting DMA-BUF import size to int32, and a variety of other fixes / low-level code improvements.
Already in DRM-Next for Linux 5.13 on the Intel graphics side is also Alder Lake S enablement and prepping for XE_LPD v13 display hardware, among other changes.
The Linux 5.13 merge window will kick off later this month while the stable release should come out in June.