Page MenuHomeFreeBSD

LinuxKPI: Add PCI method for transferring framebuffer parameters
Needs ReviewPublic

Authored by wulf on Sat, Sep 26, 10:04 AM.
Tags
None
Referenced Files
F174435815: D60038.id187737.diff
Sat, Oct 3, 5:07 AM
F174435553: D60038.id.diff
Sat, Oct 3, 5:03 AM
F174417914: D60038.id187730.diff
Sat, Oct 3, 1:25 AM
Unknown Object (File)
Fri, Oct 2, 9:38 PM
Unknown Object (File)
Fri, Oct 2, 5:17 AM
Unknown Object (File)
Fri, Oct 2, 5:16 AM
Unknown Object (File)
Fri, Oct 2, 3:09 AM
Unknown Object (File)
Fri, Oct 2, 1:43 AM
Subscribers

Details

Reviewers
bz
emaste
Group Reviewers
linuxkpi
Summary

from LKPI video driver to FreeBSD native framebuffer driver.
This makes possible to attach framebuffer driver in traditional way
using newbus interface rather than direct calls into vt internals.
It is required to make LKPI framebuffer driver compatible with
fbd/vt_fb. As a consequence that allows us to switch back to vt_fb on
radeon driver where vt_drmfb regressions have been reported [1].

The method expects fbd device ivars pointed to FreeBSD fb_info
structure embedded in to Linux fb_info structure. See linux/fb.h.
Note that some out-of-tree non-PCI drm drivers may require similar
changes in parent bus drivers.

[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285088

PR: 285088

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 77347
Build 74230: arc lint + arc unit

Event Timeline

wulf requested review of this revision.Sat, Sep 26, 10:04 AM
sys/compat/linuxkpi/common/src/linux_pci.c
2471

I think you need a pdev->pdrv != NULL check here too, so:

if (pdev->pdrv == NULL || !pdev->pdrv->isdrm)

pdev->pdrv == NULL check added.

If you mark the requested change "done" I am am fine if @emaste or @dumbbell are fine too; I assume they know what the fb_getinfo is supposed to do and how it is supposed to be used.

wulf marked an inline comment as done.Thu, Oct 1, 7:49 PM

If you mark the requested change "done"

Done now. It is a downside of git arc