On Thu, Aug 04, 2016 at 10:59:38AM -0400, Alex Deucher wrote:
Adding dri-devel.
This patch set basically adds a driver option to enable virtual display hw if the user needs it (e.g., virtualization environments, headless cards, pre-silicon environments, etc.). It looks like a regular KMS crtc/encoder/connector and works with existing userspace unchanged.
We autodetect this already for virtualized envirnments and pre-silicon. Not so sure about headless cards, on those we don't bother to expose anything if there's nothing connected (i.e. no crtc/encoder/plane or connector objects at all). Why do you want fake outputs in that case?
Anyway, if this is just a modparam and disabled by default I don't see any issue really at all. -Daniel
Alex
On Thu, Aug 4, 2016 at 3:04 AM, Emily Deng Emily.Deng@amd.com wrote:
The Virtual Display feature is to fake a display engine in amdgpu kernel driver, which allows any other kernel modules or user mode components to work as expected even without real display HW. User can get the desktop/primary surface through remote desktop tools instead of displaying HW associated with the GPU. The virtual display feature is designed for following cases: 1)Headless GPU, which has no display engine, while for some reason the X server is required to initialize in this GPU; 2)GPU with head (display engine) but Video BIOS disables display capability for some reason. For example, SR-IOV virtualization enabled Video BIOS often disables display connector. Some S-series Pro-Graphics designed for headless computer also disable display capability in Video BIOS; 3)For whatever reason, end user wants to enable a virtual display (don’t need HW display capability).
Emily Deng (13): drm/amdgpu: Add virtual connector and encoder macros. drm/amdgpu: Initialize dce_virtual_ip_funcs drm/amdgpu: Initialize dce_virtual_display_funcs. drm/amdgpu: Initialize crtc, pageflip irq funcs drm/amdgpu: Initialize dce_virtual_crtc_helper_funcs drm/amdgpu: Initialize dce_virtual_crtc_funcs. drm/amdgpu: Disable VGA render and crtc when init GMC. drm/amdgpu: Use software timer to generate vsync interrupt. drm/amdgpu: Call pageflip irq funtion when receiced vsync interrupt. drm/amdgpu: Add DRM_MODE_CONNECTOR_VIRTUAL connector in amdgpu_connector_add. drm/amdgpu: Define vitual display ip blocks. drm/amdgpu: Define one variable for virtual display. drm/amdgpu: Set ip_blocks according variable amdgpu_virtual_display.
drivers/gpu/drm/amd/amdgpu/Makefile | 3 +- drivers/gpu/drm/amd/amdgpu/ObjectID.h | 7 + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 27 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 95 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 + drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 + drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 9 +- drivers/gpu/drm/amd/amdgpu/cik.c | 445 +++++++++++-- drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 75 +++ drivers/gpu/drm/amd/amdgpu/dce_v10_0.h | 2 + drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 83 +++ drivers/gpu/drm/amd/amdgpu/dce_v11_0.h | 2 + drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 82 +++ drivers/gpu/drm/amd/amdgpu/dce_v8_0.h | 2 + drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 855 +++++++++++++++++++++++++ drivers/gpu/drm/amd/amdgpu/dce_virtual.h | 31 + drivers/gpu/drm/amd/amdgpu/vi.c | 416 ++++++++++-- 20 files changed, 2062 insertions(+), 91 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_virtual.c create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_virtual.h
-- 1.9.1
amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel