[Vivid][PULL v2]: ubuntu/i915 backport driver for Skylake & Cherryview

Leann Ogasawara leann.ogasawara at canonical.com
Fri Mar 20 21:10:11 UTC 2015


On Thu, Mar 19, 2015 at 9:43 PM, Timo Aaltonen <tjaalton at ubuntu.com> wrote:
>
> and now from the correct email address..
>
> On 11.03.2015 18:46, Timo Aaltonen wrote:
>> git://kernel.ubuntu.com/tjaalton/ubuntu-trusty.git i915-bpo
>
> I've pushed a new version, based to current drm-intel-next-queued and adding a couple of drm cherry-picks and backports.
> Excuses updated:
> --
>
> Here are some explanations on why all of this is necessary..
>
> - the driver itself, with one cherry-pick to match the PCI id split in the driver
> - needed because 3.19 isn't good enough for either of these
> - both SKL/CHV are unreleased HW, so adding the backport is risk-free
> ===============
> eb4080bc914a9df UBUNTU: SAUCE: i915_bpo: Provide a backport driver for Skylake & Cherryview graphics
> 0a279763826b430 UBUNTU: SAUCE: i915_bpo: Update intel_ips.h file location
> c632cb636711ddd UBUNTU: SAUCE: i915_bpo: Only support Skylake and Cherryview with the backport driver
> 81c6704425b953b UBUNTU: SAUCE: i915_bpo: Rename the backport driver to i915_bpo
> dee12d6acf73513 UBUNTU: i915_bpo: [Config] Enable CONFIG_DRM_I915_BPO=m
> 575c88edb3d83b7 UBUNTU: SAUCE: i915_bpo: Add i915_bpo_*() calls for ubuntu/i915
> c6f6d50ddfde99c UBUNTU: SAUCE: i915_bpo: Revert "drm/i915: remove unused power_well/get_cdclk_freq api"
> 01b80b88634e767 UBUNTU: SAUCE: i915_bpo: Add i915_bpo specific power well calls
> 4b789baff00637f drm/i915/skl: Split the SKL PCI ids by GT

Indeed this first group of patches initially seeds the ubuntu/
directory with an i915 snapshot, ie i915_bpo.  That snapshot is then
cleaned up to point to proper locations for files and restrict SKL/CHV
to only be supported with this new i915 snapshot.  The snapshot is
renamed to i915_bpo and the corresponding kconfig is enabled.  The
code which is touched outside the ubuntu/ confines are all
straightforward changes to allow coexistence between the existing i915
driver and the new i916_bpo driver.  This section all appears well
contained.

> - most, if not all of the core drm API additions from 4.0... atomic modeset can't
>   really be reverted from the driver so while it's a big list of commits there's no
> - note that these barely change the other drivers, since they
>   only add new helpers etc
> - exceptions to this are f7898653f603bb5 429cd3207ff3c9e and a888a168b181961
>   which touch stock i915 and msm drivers, but the changes are small or fix bugs
> ===============
> d96345b6886340d drm: Reorganize probed mode validation
> ad2fd50f3232c46 drm: Perform basic sanity checks on probed modes
> a067ca70a4d155e drm: Do basic sanity checks for user modes
> d1cf556f8b10ddd drm/atomic-helper: Export both plane and modeset check helpers
> f7898653f603bb5 drm/atomic-helper: Again check modeset *before* plane states
> 429cd3207ff3c9e drm/atomic: Introduce state->obj backpointers
> c5dbb038e3a6652 drm: allow property validation for refcnted props
> bd1bbe0da45bd26 drm: store property instead of id in obj attachment
> 4de4d6eb856afe1 drm: get rid of direct property value access
> ab08ce4c9e1a940 drm: add atomic_set_property wrappers
> 7fe9b99c9da3939 drm: tweak getconnector locking
> afa2b20ca09a07e drm: add atomic_get_property
> 90192e236e0b19d drm: Remove unneeded braces for single statement blocks
> c8a373144f7e712 drm: refactor getproperties/getconnector
> 73623e331132a22 drm: add atomic properties
> 61595dce963b980 drm/atomic: atomic_check functions
> 37ba6f878cc0046 drm: small property creation cleanup
> 61ef9057bb6d012 drm/atomic: atomic plane properties
> 97cabe0f72bcc01 drm/atomic: atomic connector properties
> 960b1932d343fb4 drm: Atomic modeset ioctl
> 4e46aca5d524382 drm/atomic: Hide drm.ko internal interfaces
> 4cf12e610f60784 drm: Ensure universal_planes is set for atomic
> 09833c641dcd6de drm: fix mismerge in drm_crtc.c
> 7699586731508e4 drm: bit of spell-check / editorializing.
> ad2afe6faf0c42b drm: add support for tiled/compressed/etc modifier in addfb2
> 3e3b554c22a1401 drm: Add rotation value to plane state
> a888a168b181961 drm: add helper to get crtc timings (v5)
> c3eca923cfc206e drm: Adding edp1.4 specific dpcd macros
> 6129d69abd51246 drm/plane-helper: Skip prepare_fb/cleanup_fb when newfb==oldfb

These indeed appear to be reoganizing existing code (ie functionally
equivalent), adding/exporting helpers, or implement changes which do
as they claim.

> - partial api additions from commits that would also touch the stock i915 driver,
>   some from drm-intel-next branch
> ===============
> 0638f3071778110 UBUNTU: SAUCE: Backport I915_PARAM_MMAP_VERSION and I915_MMAP_WC
> 20f13c92167bd30 UBUNTU: SAUCE: Partial backport of drm/i915: Add ioctl to set per-context parameters
> 6506a35d34e4065 UBUNTU: SAUCE: drm/i915: Specify bsd rings through exec flag
> 4c871fe18b93c42 UBUNTU: SAUCE: drm/i915: add I915_PARAM_HAS_BSD2 to i915_getparam
> 87d84f3b3c81e66 UBUNTU: SAUCE: drm/i915: add component support
> 7650087e0ca451a UBUNTU: SAUCE: drm/i915: Add tiled framebuffer modifiers
> 319bedc05b1478e UBUNTU: SAUCE: Backport new displayable tiling formats
> 1e7dfdb9502d96b UBUNTU: SAUCE: Backport drm_crtc_vblank_reset() helper
> 6178339a1443321 UBUNTU: SAUCE: drm/i915: Add I915_PARAM_REVISION
> aba441b4d1b29d0 UBUNTU: SAUCE: drm/i915: Export total subslice and EU counts

9fc24129a8d146c3 UBUNTU: SAUCE: i915_bpo: Revert drm/mm: Support 4 GiB
and larger ranges
^^ is also in this list

Along with the noted revert above, these patches are primarily
incorporating new #defines, structures, and routines used by i915_bpo.

> even with these neither SKL nor CHV survive S3 (my systems anyway), so expect to see further updates
> later on..

Given the confinement of this new i916_bpo driver, the restriction to
only run on SKL/CHV platforms which would be inoperable otherwise, and
access to the actual hw to test...I will give my Ack for this pull
request.  I have also tested on a Haswell system here (ie non SKL/CHV)
and notice no regressions.  However, I would like to ask for an
additional peer review before this is applied to Vivid.

Acked-by: Leann Ogasawara <leann.ogasawara at canonical.com>

Thanks,
Leann




More information about the kernel-team mailing list