[Intel-gfx] [PATCH] drm/i915: Check for fused or unused pipes
In case of fused or unused pipes, return early with a warning when reading information for encoder. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103206 Reported-by: Thomas Gleixner Signed-off-by: Jani Nikula Signed-off-by: Mika Kahola --- drivers/gpu/drm/i915/intel_audio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c index f1502a0..522d54f 100644 --- a/drivers/gpu/drm/i915/intel_audio.c +++ b/drivers/gpu/drm/i915/intel_audio.c @@ -779,7 +779,7 @@ static struct intel_encoder *get_saved_enc(struct drm_i915_private *dev_priv, { struct intel_encoder *encoder; - if (WARN_ON(pipe >= INTEL_INFO(dev_priv)->num_pipes)) + if (WARN_ON(pipe >= ARRAY_SIZE(dev_priv->av_enc_map))) return NULL; /* MST */ -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t] test/kms_sysfs_edid_timing : Increase THRESHOLD_PER_CONNECTOR and THRESHOLD_TOTAL
https://patchwork.freedesktop.org/series/35365/ Judging from PW results, THRESHOLD_TOTAL 95 is still not enough for KBL-shards. That is interesting. /Marta > -Original Message- > From: Lofstedt, Marta > Sent: Thursday, December 14, 2017 5:44 PM > To: intel-gfx@lists.freedesktop.org > Cc: Latvala, Petri ; Taylor, Clinton A > ; Lofstedt, Marta > Subject: [PATCH i-g-t] test/kms_sysfs_edid_timing : Increase > THRESHOLD_PER_CONNECTOR and THRESHOLD_TOTAL > > The discussion on how to fix the issues has been stagnant for a long time, see > the Bugzilla below and: > https://patchwork.freedesktop.org/patch/170429/ > > After only changing display cable the result of my machine went from always > failing to hit a WARN. This is also illustrated on CI-shards, where the > shard-apl > flip-flop between pass and WARN and the shard-kbl always fail. This made > me realize that the THRESHOLD_PER_CONNECTOR also needed to be > updated, while previous discussion only touched the THRESHOLD_TOTAL. As > discussed in provided links the motivation for this test is to discover big > anomalies in edid timings, but with the current tight thresholds we are > hitting > the issues too often. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100047 > Signed-off-by: Marta Lofstedt > --- > tests/kms_sysfs_edid_timing.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c > index 12013881..7dbd3fe6 100644 > --- a/tests/kms_sysfs_edid_timing.c > +++ b/tests/kms_sysfs_edid_timing.c > @@ -26,8 +26,8 @@ > #include > #include > > -#define THRESHOLD_PER_CONNECTOR 10 > -#define THRESHOLD_TOTAL 50 > +#define THRESHOLD_PER_CONNECTOR 15 > +#define THRESHOLD_TOTAL 95 > #define CHECK_TIMES 15 > > IGT_TEST_DESCRIPTION("This check the time we take to read the content of > all " > -- > 2.11.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/glk: Disable Guc and HuC on GLK
On Thu, 14 Dec 2017 23:30:56 +0100, Srivatsa, Anusha wrote: -Original Message- From: Wajdeczko, Michal Sent: Thursday, December 14, 2017 2:18 PM To: intel-gfx@lists.freedesktop.org; Srivatsa, Anusha Cc: Vivi, Rodrigo Subject: Re: [Intel-gfx] [PATCH] drm/i915/glk: Disable Guc and HuC on GLK On Thu, 14 Dec 2017 22:58:37 +0100, Anusha Srivatsa wrote: Since the firmwares are released yet to public repo, disable them on Geminilake. Cc: Rodrigo Vivi Signed-off-by: Anusha Srivatsa --- drivers/gpu/drm/i915/i915_pci.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index fa67d3d..ddf7530 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -521,6 +521,11 @@ static const struct intel_device_info intel_geminilake_info __initconst = { GEN9_LP_FEATURES, .platform = INTEL_GEMINILAKE, .ddb_size = 1024, + /* FIXME Geminilake supports GuC but currently firmwares +* have not made it to public repo. Lets disable the support +* as a temporary fix. +*/ + .has_guc = 0, Maybe better place to put this fix is __get_platform_enable_guc() like in [1] [1] https://patchwork.freedesktop.org/patch/192006/ Michal, Hmm the reference patch is controlling guc/huc through a module parameter but wont the above approach be neater platform wise? With your patch it would be impossible to check even preliminary firmwares from non-public repo without recompilation of the driver. While with variant below it would just require changing modparams like: enable_guc=1 guc_firmware_path=preliminary/glk.bin Note that auto mode (enable_guc=-1) will still keep GuC disabled for GLK. Michal Anusha diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c index 49bccc9..22b0afe 100644 --- a/drivers/gpu/drm/i915/intel_uc.c +++ b/drivers/gpu/drm/i915/intel_uc.c @@ -60,6 +60,8 @@ static int __get_platform_enable_guc(struct drm_i915_private *dev_priv) enable_guc |= ENABLE_GUC_LOAD_HUC; /* Any platform specific fine-tuning can be done here */ + if (IS_GEMINILAKE(dev_priv)) + enable_guc = 0; /* no firmware on CI machines */ return enable_guc; } GLK_COLORS, }; ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4 3/5] drm/i915/guc: Implement dynamic WOPCM partitioning
On 12/14/2017 03:43 AM, Joonas Lahtinen wrote: On Wed, 2017-12-13 at 14:59 -0800, Yaodong Li wrote: On 12/13/2017 01:34 PM, Michal Wajdeczko wrote: On Wed, 13 Dec 2017 19:19:06 +0100, Yaodong Li wrote: On 12/13/2017 01:11 AM, Joonas Lahtinen wrote: On Tue, 2017-12-12 at 14:56 -0800, Jackie Li wrote: Hardware may have specific restrictions on GuC WOPCM partition size versus HuC firmware size. With static WOPCM partitioning, there's no way to adjust the GuC WOPCM partition size based on the actual HuC firmware size, so that GuC/HuC loading failure would occur even if there was enough WOPCM space for both GuC and HuC firmware. WOPCM being a shared feature of the hardware, it should not go under intel_guc_ prefix. There should be a clear division of what is specific to GuC feature only and what is just a feature that happens to be used by GuC (and equally can be used by HuC too). the intel_guc_wopcm here only refers to the wopcm used by GuC, this structure only defines the GuC related wopcm info. (wopcm partition for GuC). We only need to set these values (defined in this structure) to GuC registers. And this structure should never be touched if GuC was disabled. so it should be a part of GuC. But note that yours intel_guc_wopcm is just one of many wopcm partitions. I think it would be a good idea to create "intel_wopcm.c|h" and keep all related code and data there (including verification of early setup done by bios, wopcpm reporting, partitioning). Then we can do rest of the programming right there or just take values that will be programmed individually by interested components (but former is preferred to avoid spreading single feature code over too many places) The KMD only needs to take care of the setup of the GuC WOPCM partition. Other HW WOPCM (e.g HuC) usages are all transparent to kernel driver. Plus, the GuC WOPM partitioning is needed only when GuC is enabled and uc firmwares are loaded correctly. The only reason for us to have an intel_wopcm is to maintain the overall WOPCM info such as WOPCM size and base. However, it's not necessary since we can reuse existing driver code to get these info. I'd go with Michal here, the WOPCM is its own entity in existence. Partitioning defintely sounds like it should be intel_wopcm stuff, which may yield intel_wopcm_partition under "guc", so then you are still able to reference "guc->wopcm.base" where it makes sense. And how that partition is programmed to GuC registers for it to be used, is then stuff to go under intel_guc. And then you have another intel_wopcm_partition for "huc". We should avoid incorrect abstractions, just to avoid a few lines of code. That's how the hardware features seem to exist, that's how we should map them in the code. Thanks for your comments. but I have some different opinions. Agreed that wopcm exists no matter GuC is enabled or not. And we can reuse existing code to get/verify related info we need for driver level description of wopcm. that one reason I don't think we need intel_wopcm. Regarding the partitioning - We need it only when GuC was enabled. In this case, it makes sense to do it at least in uc level. Plus, from HW point of view, HW only relies on GuC wopcm offset and size to determine the layout (or say partitions) of the wopcm. In this case, a good abstraction of the HW interface would be: struct guc_wopcm { u32 offset; u32 size; }; guc_wopcm_setup() - which does actual HW status check and GuC wopcm setup. guc_wopcm_init() - which init/verify the offset and size values required by HW. That's the second reason I think use of intel_guc_wopcm.c is more accurate since it reflected the actual HW interface and could be enabled/disabled along with GuC code. Regarding the generic abstraction of intel_wopcm_partition for both GuC & HuC. I am not sure what's the benefit of such an abstraction. For two reasons: a) HW is only aware of the GuC WOPCM boundaries and doesn't provide any interface to configure the partition for HuC, which means we even won't use these info in the rest of the driver code. b) For debugging and tracking propose, we can easily get overall layout of WOPCM by just using overall wopcm description and GuC wopcm usage. Please do let me know if anything was wrong :-) Regards, -Jackie Regards, Joonas ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 4/5] drm/atomic: document how to handle driver private objects
On Thu, 2017-12-14 at 21:30 +0100, Daniel Vetter wrote: > DK put some nice docs into the commit introducing driver private > state, but in the git history alone it'll be lost. > > Also, since Ville remove the void* usage it's a good opportunity to > give the driver private stuff some tlc on the doc front. > > Finally try to explain why the "let's just subclass drm_atomic_state" > approach wasn't the greatest, and annotate all those functions as > deprecated in favour of more standardized driver private states. Also > note where we could/should extend driver private states going forward > (atm neither locking nor synchronization is handled in core/helpers, > which isn't really all that great). > I have pointed out a couple of typos below, other than lgtm Reviewed-by: Dhinakaran Pandiyan > Cc: Harry Wentland > Cc: Dhinakaran Pandiyan > Cc: Maarten Lankhorst > Cc: Ville Syrjälä > Cc: Laurent Pinchart > Cc: Rob Clark > Cc: Alex Deucher > Cc: Ben Skeggs > Signed-off-by: Daniel Vetter > --- > Documentation/gpu/drm-kms.rst | 6 ++ > drivers/gpu/drm/drm_atomic.c | 45 > --- > include/drm/drm_atomic.h | 28 +++ > include/drm/drm_mode_config.h | 9 + > 4 files changed, 85 insertions(+), 3 deletions(-) > > diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst > index 307284125d7a..420025bd6a9b 100644 > --- a/Documentation/gpu/drm-kms.rst > +++ b/Documentation/gpu/drm-kms.rst > @@ -271,6 +271,12 @@ Taken all together there's two consequences for the > atomic design: > Read on in this chapter, and also in :ref:`drm_atomic_helper` for more > detailed > coverage of specific topics. > > +Handling Driver Private State > +- > + > +.. kernel-doc:: drivers/gpu/drm/drm_atomic.c > + :doc: handling driver private state > + > Atomic Mode Setting Function Reference > -- > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 37445d50816a..15e1a35c74a8 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -50,7 +50,8 @@ EXPORT_SYMBOL(__drm_crtc_commit_free); > * @state: atomic state > * > * Free all the memory allocated by drm_atomic_state_init. > - * This is useful for drivers that subclass the atomic state. > + * This should only be used by drivers which are still subclassing > + * &drm_atomic_state and haven't switched to &drm_private_state yet. > */ > void drm_atomic_state_default_release(struct drm_atomic_state *state) > { > @@ -67,7 +68,8 @@ EXPORT_SYMBOL(drm_atomic_state_default_release); > * @state: atomic state > * > * Default implementation for filling in a new atomic state. > - * This is useful for drivers that subclass the atomic state. > + * This should only be used by drivers which are still subclassing > + * &drm_atomic_state and haven't switched to &drm_private_state yet. > */ > int > drm_atomic_state_init(struct drm_device *dev, struct drm_atomic_state *state) > @@ -132,7 +134,8 @@ EXPORT_SYMBOL(drm_atomic_state_alloc); > * @state: atomic state > * > * Default implementation for clearing atomic state. > - * This is useful for drivers that subclass the atomic state. > + * This should only be used by drivers which are still subclassing > + * &drm_atomic_state and haven't switched to &drm_private_state yet. > */ > void drm_atomic_state_default_clear(struct drm_atomic_state *state) > { > @@ -946,6 +949,42 @@ static void drm_atomic_plane_print_state(struct > drm_printer *p, > plane->funcs->atomic_print_state(p, state); > } > > +/** > + * DOC: handling driver private state > + * > + * Very often the DRM objects exposed to userspace in the atomic modeset api > + * (&drm_connector, &drm_crtc and &drm_plane) do not map neatly to the > + * underlying hardware. Especially for any kind of shared resources (e.g. > shared > + * clocks, scaler units, bandwidth and fifo limits shared among a group of > + * planes or CRTCs, and so on) it makes sense to model these as independent > + * objects. Drivers then need to similar state tracking and commit ordering > for > + * such private (since not exposed to userpace) objects as the atomic core > and > + * helpers already provide for connectors, planes and CRTCs. > + * > + * To make this easier on drivers the atomic core provides some support to > track > + * driver private state objects using struct &drm_private_obj, with the > + * associated state struct &drm_private_state. > + * > + * Similar to userspace-exposed objects, state structures can be acquired by ^private > + * calling drm_atomic_get_private_obj_state(). Since this function does not > take > + * care of locking, drivers should wrap it for each type of private state > object > + * they have with the required call to drm_modeset_lock() for the > corresponding > + * &drm_mod
Re: [Intel-gfx] [PATCH 5/5] drm/doc: Move legacy kms helpers to the very end
On Thu, Dec 14, 2017 at 3:30 PM, Daniel Vetter wrote: > We don't want people to accidentally stumble over there. > > Also rename the plane helpers to legacy plane helpers. After Ville's > patch to make the clipping helper atomic and move it to > drm_atomic_helper.c there's nothing left in there that should be > useful for modern drivers. > > v2: Laurent had a few questions around how state is added to > drm_atomic_state, tried to clarify that. And spotted another sentence > where the docs suggested subclassing. > > Signed-off-by: Daniel Vetter > --- > Documentation/gpu/drm-kms-helpers.rst | 36 > +-- > Documentation/gpu/drm-kms.rst | 8 > include/drm/drm_atomic.h | 4 > 3 files changed, 26 insertions(+), 22 deletions(-) > > diff --git a/Documentation/gpu/drm-kms-helpers.rst > b/Documentation/gpu/drm-kms-helpers.rst > index 3ea622876b67..e37557b30f62 100644 > --- a/Documentation/gpu/drm-kms-helpers.rst > +++ b/Documentation/gpu/drm-kms-helpers.rst > @@ -74,15 +74,6 @@ Helper Functions Reference > .. kernel-doc:: drivers/gpu/drm/drm_atomic_helper.c > :export: > > -Legacy CRTC/Modeset Helper Functions Reference > -== > - > -.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c > - :doc: overview > - > -.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c > - :export: > - > Simple KMS Helper Reference > === > > @@ -282,15 +273,6 @@ Flip-work Helper Reference > .. kernel-doc:: drivers/gpu/drm/drm_flip_work.c > :export: > > -Plane Helper Reference > -== > - > -.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c > - :doc: overview > - > -.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c > - :export: > - > Auxiliary Modeset Helpers > = > > @@ -308,3 +290,21 @@ Framebuffer GEM Helper Reference > > .. kernel-doc:: drivers/gpu/drm/drm_gem_framebuffer_helper.c > :export: > + > +Legacy Plane Helper Reference > += > + > +.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c > + :doc: overview > + > +.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c > + :export: > + > +Legacy CRTC/Modeset Helper Functions Reference > +== > + > +.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c > + :doc: overview > + > +.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c > + :export: > diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst > index 420025bd6a9b..cbba93483aec 100644 > --- a/Documentation/gpu/drm-kms.rst > +++ b/Documentation/gpu/drm-kms.rst > @@ -263,10 +263,10 @@ Taken all together there's two consequences for the > atomic design: > > - An atomic update is assembled and validated as an entirely free-standing > pile >of structures within the :c:type:`drm_atomic_state ` > - container. Again drivers can subclass that container for their own state > - structure tracking needs. Only when a state is committed is it applied to > the > - driver and modeset objects. This way rolling back an update boils down to > - releasing memory and unreferencing objects like framebuffers. > + container. Driver private state structures are also tracked in the same > + structure, see the next chapter. Only when a state is committed is it > applied I think it would be clearer as: structure (see the next chapter). or structure; see the next chapter. Either way: Reviewed-by: Alex Deucher > + to the driver and modeset objects. This way rolling back an update boils > down > + to releasing memory and unreferencing objects like framebuffers. > > Read on in this chapter, and also in :ref:`drm_atomic_helper` for more > detailed > coverage of specific topics. > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 8e4829a25c1b..e7f25e342cc8 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -246,6 +246,10 @@ struct __drm_private_objs_state { > * @num_private_objs: size of the @private_objs array > * @private_objs: pointer to array of private object pointers > * @acquire_ctx: acquire context for this atomic modeset state update > + * > + * States are added to an atomic update by calling > drm_atomic_get_crtc_state(), > + * drm_atomic_get_plane_state(), drm_atomic_get_connector_state(), or for > + * private state structures, drm_atomic_get_private_obj_state(). > */ > struct drm_atomic_state { > struct kref ref; > -- > 2.15.1 > > ___ > dri-devel mailing list > dri-de...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 3/5] drm/syncobj: some kerneldoc polish
On Thu, Dec 14, 2017 at 3:30 PM, Daniel Vetter wrote: > Complete a few missing bits, fix up the existing xcross-references and > add a bunch more. > > Cc: Dave Airlie via lists.freedesktop.org > Signed-off-by: Daniel Vetter > --- > drivers/gpu/drm/drm_syncobj.c | 45 > +++ > include/drm/drm_syncobj.h | 32 +- > 2 files changed, 60 insertions(+), 17 deletions(-) > > diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c > index 9b733c510cbf..b6d0c2c400ec 100644 > --- a/drivers/gpu/drm/drm_syncobj.c > +++ b/drivers/gpu/drm/drm_syncobj.c > @@ -29,9 +29,9 @@ > /** > * DOC: Overview > * > - * DRM synchronisation objects (syncobj) are a persistent objects, > - * that contain an optional fence. The fence can be updated with a new > - * fence, or be NULL. > + * DRM synchronisation objects (syncobj, see struct &drm_syncobj) are a > + * persistent objects, that contain an optional fence. The fence can be > updated grammer: are persistent objects that contain an optional fence > + * with a new fence, or be NULL. > * > * syncobj's can be waited upon, where it will wait for the underlying > * fence. > @@ -61,7 +61,8 @@ > * @file_private: drm file private pointer > * @handle: sync object handle to lookup. > * > - * Returns a reference to the syncobj pointed to by handle or NULL. > + * Returns a reference to the syncobj pointed to by handle or NULL. The > + * reference must be released by calling drm_syncobj_put(). > */ > struct drm_syncobj *drm_syncobj_find(struct drm_file *file_private, > u32 handle) > @@ -229,6 +230,19 @@ static int drm_syncobj_assign_null_handle(struct > drm_syncobj *syncobj) > return 0; > } > > +/** > + * drm_syncobj_find_fence - lookup and reference the fence in a sync object > + * @file_private: drm file private pointer > + * @handle: sync object handle to lookup. > + * @fence: out parameter for the fence > + * > + * This is just a convenience function that combines drm_syncobj_find() and > + * drm_syncobj_fence_get(). > + * > + * Returns 0 on success or a negative error value on failure. On success > @fence > + * contains a reference to the fence, which mus be released by calling typo: must > + * dma_fence_put(). > + */ > int drm_syncobj_find_fence(struct drm_file *file_private, >u32 handle, >struct dma_fence **fence) > @@ -269,6 +283,12 @@ EXPORT_SYMBOL(drm_syncobj_free); > * @out_syncobj: returned syncobj > * @flags: DRM_SYNCOBJ_* flags > * @fence: if non-NULL, the syncobj will represent this fence > + * > + * This is the first function to create a sync object. After creating drivers > + * probably want to make it available to userspace, either through > + * drm_syncobj_get_handle() or drm_syncobj_get_fd(). grammer: After creating, drivers probably want to make it available to userspace > + * > + * Returns 0 on success or a negative error value on failure. > */ > int drm_syncobj_create(struct drm_syncobj **out_syncobj, uint32_t flags, >struct dma_fence *fence) > @@ -302,6 +322,14 @@ EXPORT_SYMBOL(drm_syncobj_create); > > /** > * drm_syncobj_get_handle - get a handle from a syncobj > + * @file_private: drm file private pointer > + * @syncobj: Sync object to export > + * @handle: out parameter with the new handle > + * > + * Exports a sync object created with drm_syncobj_create() as a handle on > + * @file_private to userspace. > + * > + * Returns 0 on success or a negative error value on failure. > */ > int drm_syncobj_get_handle(struct drm_file *file_private, >struct drm_syncobj *syncobj, u32 *handle) > @@ -388,6 +416,15 @@ static int drm_syncobj_alloc_file(struct drm_syncobj > *syncobj) > return 0; > } > > +/** > + * drm_syncobj_get_fd - get a file descriptor from a syncobj > + * @syncobj: Sync object to export > + * @p_fd: out parameter with the new file descriptor > + * > + * Exports a sync object created with drm_syncobj_create() as a file > descriptor. > + * > + * Returns 0 on success or a negative error value on failure. > + */ > int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd) > { > int ret; > diff --git a/include/drm/drm_syncobj.h b/include/drm/drm_syncobj.h > index 9e8ba90c6784..87865774bdaa 100644 > --- a/include/drm/drm_syncobj.h > +++ b/include/drm/drm_syncobj.h > @@ -33,36 +33,31 @@ struct drm_syncobj_cb; > /** > * struct drm_syncobj - sync object. > * > - * This structure defines a generic sync object which wraps a dma fence. > + * This structure defines a generic sync object which wraps a &dma_fence. > */ > struct drm_syncobj { > /** > -* @refcount: > -* > -* Reference count of this object. > +* @refcount: Reference count of this object. > */ > struct kref refcount; > /** >
Re: [Intel-gfx] [PATCH 2/5] drm/print: Unconfuse kerneldoc
On Thu, Dec 14, 2017 at 3:30 PM, Daniel Vetter wrote: > It thinks we want to document the __printf(2,0) annotion. Not sure we > want to teach it about all possible gcc-only flags, hence why I opted > for the cheap trick of just moving it ahead of the kerneldoc. > > This is only a problem for static inline functions, since for > non-inline function the kerneldoc is in the .c file, but the special > annotations are all in the header. > > Cc'ing kernel-doc maintainers as fyi. > > Cc: linux-...@vger.kernel.org > Cc: Jonathan Corbet > Signed-off-by: Daniel Vetter Acked-by: Alex Deucher > --- > include/drm/drm_print.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h > index 5f9932e2246e..2a4a42e59a47 100644 > --- a/include/drm/drm_print.h > +++ b/include/drm/drm_print.h > @@ -80,13 +80,13 @@ void __drm_printfn_debug(struct drm_printer *p, struct > va_format *vaf); > __printf(2, 3) > void drm_printf(struct drm_printer *p, const char *f, ...); > > +__printf(2, 0) > /** > * drm_vprintf - print to a &drm_printer stream > * @p: the &drm_printer > * @fmt: format string > * @va: the va_list > */ > -__printf(2, 0) > static inline void > drm_vprintf(struct drm_printer *p, const char *fmt, va_list *va) > { > -- > 2.15.1 > > ___ > dri-devel mailing list > dri-de...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 1/5] drm/edid: kerneldoc for is_hdmi2_sink
On Thu, Dec 14, 2017 at 3:30 PM, Daniel Vetter wrote: > Also some breadcrumbs for how exactly to find this. Probably should > pass drm_connector * or at least drm_display_info * to that function > instead. But drm_hdmi_avi_infoframe_quant_range probably also wants > drm_connector_state (and the hdmi stuff moved into that), so this is a > bit more work. > > Cc: Ville Syrjälä > Fixes: 9271c0ca573e ("drm/edid: Don't send non-zero YQ in AVI infoframe for > HDMI 1.x sinks") > Signed-off-by: Daniel Vetter > --- > drivers/gpu/drm/drm_edid.c | 5 + > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c > index 365901c1c33c..56ebef0c5fad 100644 > --- a/drivers/gpu/drm/drm_edid.c > +++ b/drivers/gpu/drm/drm_edid.c > @@ -4871,6 +4871,11 @@ > EXPORT_SYMBOL(drm_hdmi_avi_infoframe_from_display_mode); > * @mode: DRM display mode > * @rgb_quant_range: RGB quantization range (Q) > * @rgb_quant_range_selectable: Sink support selectable RGB quantization > range (QS) > + * @is_hdmi2_sink: HDMI 2.0 sink, which has different default recommendations > + * > + * Note that @is_hdmi2_sink can be derrived by looking at the typo : derived With that fixed: Acked-by: Alex Deucher > + * &drm_scdc.supported flag stored in &drm_hdmi_info.scdc, > + * &drm_display_info.hdmi, which can be found in &drm_connector.display_info. > */ > void > drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame, > -- > 2.15.1 > > ___ > dri-devel mailing list > dri-de...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 4/5] drm/atomic: document how to handle driver private objects
On Thu, Dec 14, 2017 at 3:30 PM, Daniel Vetter wrote: > DK put some nice docs into the commit introducing driver private > state, but in the git history alone it'll be lost. > > Also, since Ville remove the void* usage it's a good opportunity to > give the driver private stuff some tlc on the doc front. > > Finally try to explain why the "let's just subclass drm_atomic_state" > approach wasn't the greatest, and annotate all those functions as > deprecated in favour of more standardized driver private states. Also > note where we could/should extend driver private states going forward > (atm neither locking nor synchronization is handled in core/helpers, > which isn't really all that great). > > Cc: Harry Wentland > Cc: Dhinakaran Pandiyan > Cc: Maarten Lankhorst > Cc: Ville Syrjälä > Cc: Laurent Pinchart > Cc: Rob Clark > Cc: Alex Deucher > Cc: Ben Skeggs > Signed-off-by: Daniel Vetter > --- > Documentation/gpu/drm-kms.rst | 6 ++ > drivers/gpu/drm/drm_atomic.c | 45 > --- > include/drm/drm_atomic.h | 28 +++ > include/drm/drm_mode_config.h | 9 + > 4 files changed, 85 insertions(+), 3 deletions(-) > > diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst > index 307284125d7a..420025bd6a9b 100644 > --- a/Documentation/gpu/drm-kms.rst > +++ b/Documentation/gpu/drm-kms.rst > @@ -271,6 +271,12 @@ Taken all together there's two consequences for the > atomic design: > Read on in this chapter, and also in :ref:`drm_atomic_helper` for more > detailed > coverage of specific topics. > > +Handling Driver Private State > +- > + > +.. kernel-doc:: drivers/gpu/drm/drm_atomic.c > + :doc: handling driver private state > + > Atomic Mode Setting Function Reference > -- > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index 37445d50816a..15e1a35c74a8 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -50,7 +50,8 @@ EXPORT_SYMBOL(__drm_crtc_commit_free); > * @state: atomic state > * > * Free all the memory allocated by drm_atomic_state_init. > - * This is useful for drivers that subclass the atomic state. > + * This should only be used by drivers which are still subclassing > + * &drm_atomic_state and haven't switched to &drm_private_state yet. > */ > void drm_atomic_state_default_release(struct drm_atomic_state *state) > { > @@ -67,7 +68,8 @@ EXPORT_SYMBOL(drm_atomic_state_default_release); > * @state: atomic state > * > * Default implementation for filling in a new atomic state. > - * This is useful for drivers that subclass the atomic state. > + * This should only be used by drivers which are still subclassing > + * &drm_atomic_state and haven't switched to &drm_private_state yet. > */ > int > drm_atomic_state_init(struct drm_device *dev, struct drm_atomic_state *state) > @@ -132,7 +134,8 @@ EXPORT_SYMBOL(drm_atomic_state_alloc); > * @state: atomic state > * > * Default implementation for clearing atomic state. > - * This is useful for drivers that subclass the atomic state. > + * This should only be used by drivers which are still subclassing > + * &drm_atomic_state and haven't switched to &drm_private_state yet. > */ > void drm_atomic_state_default_clear(struct drm_atomic_state *state) > { > @@ -946,6 +949,42 @@ static void drm_atomic_plane_print_state(struct > drm_printer *p, > plane->funcs->atomic_print_state(p, state); > } > > +/** > + * DOC: handling driver private state > + * > + * Very often the DRM objects exposed to userspace in the atomic modeset api > + * (&drm_connector, &drm_crtc and &drm_plane) do not map neatly to the > + * underlying hardware. Especially for any kind of shared resources (e.g. > shared > + * clocks, scaler units, bandwidth and fifo limits shared among a group of > + * planes or CRTCs, and so on) it makes sense to model these as independent > + * objects. Drivers then need to similar state tracking and commit ordering > for > + * such private (since not exposed to userpace) objects as the atomic core > and > + * helpers already provide for connectors, planes and CRTCs. This last sentence doesn't quite parse. I think it should be as follows: Drivers then need to do similar state tracking and commit ordering for such private (since not exposed to userpace) objects as the atomic core that helpers already provide for DRM objects (connectors, planes and CRTCs). Feel free to adjust as you see fit. With that fixed up: Reviewed-by: Alex Deucher > + * > + * To make this easier on drivers the atomic core provides some support to > track > + * driver private state objects using struct &drm_private_obj, with the > + * associated state struct &drm_private_state. > + * > + * Similar to userspace-exposed objects, state structures can be acquired by > + * calling drm_atomic_get_private_obj_state().
[Intel-gfx] ✗ Fi.CI.IGT: warning for lib: Provide a library function to test nop execution
== Series Details == Series: lib: Provide a library function to test nop execution URL : https://patchwork.freedesktop.org/series/35383/ State : warning == Summary == Test kms_flip: Subgroup vblank-vs-suspend: incomplete -> PASS (shard-hsw) fdo#103375 +2 Test kms_frontbuffer_tracking: Subgroup fbc-1p-offscren-pri-shrfb-draw-render: fail -> PASS (shard-snb) fdo#101623 Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 Test kms_draw_crc: Subgroup draw-method-xrgb2101010-mmap-wc-untiled: pass -> SKIP (shard-hsw) Subgroup draw-method-xrgb2101010-mmap-gtt-xtiled: pass -> SKIP (shard-snb) fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 shard-hswtotal:2578 pass:1461 dwarn:1 dfail:0 fail:10 skip:1104 time:8817s shard-snbtotal:2712 pass:1308 dwarn:1 dfail:0 fail:11 skip:1392 time:8033s Blacklisted hosts: shard-apltotal:2712 pass:1684 dwarn:1 dfail:0 fail:25 skip:1002 time:13899s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_677/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for tests/gem_eio: Fix usage of gem_quiescent_gpu
== Series Details == Series: tests/gem_eio: Fix usage of gem_quiescent_gpu URL : https://patchwork.freedesktop.org/series/35382/ State : failure == Summary == Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 Test kms_flip: Subgroup flip-vs-expired-vblank-interruptible: pass -> INCOMPLETE (shard-snb) Subgroup vblank-vs-suspend: incomplete -> PASS (shard-hsw) fdo#103375 Test kms_frontbuffer_tracking: Subgroup fbc-1p-offscren-pri-shrfb-draw-render: fail -> PASS (shard-snb) fdo#101623 Test gem_eio: Subgroup suspend: pass -> INCOMPLETE (shard-hsw) fdo#103990 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 fdo#103990 https://bugs.freedesktop.org/show_bug.cgi?id=103990 shard-hswtotal:2681 pass:1517 dwarn:1 dfail:0 fail:10 skip:1152 time:9252s shard-snbtotal:2663 pass:1282 dwarn:1 dfail:0 fail:11 skip:1368 time:7791s Blacklisted hosts: shard-apltotal:2690 pass:1642 dwarn:3 dfail:0 fail:25 skip:1019 time:13115s shard-kbltotal:2669 pass:1759 dwarn:14 dfail:1 fail:30 skip:864 time:10559s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_676/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for igt/tools_test: Check the tools exist before executing (rev3)
== Series Details == Series: igt/tools_test: Check the tools exist before executing (rev3) URL : https://patchwork.freedesktop.org/series/35237/ State : failure == Summary == Test kms_cursor_legacy: Subgroup flip-vs-cursor-toggle: pass -> FAIL (shard-hsw) fdo#102670 Test gem_wait: Subgroup await-render: pass -> FAIL (shard-hsw) Test kms_flip: Subgroup plain-flip-ts-check-interruptible: pass -> FAIL (shard-hsw) fdo#100368 Subgroup vblank-vs-suspend: incomplete -> PASS (shard-hsw) fdo#103375 Test drv_module_reload: Subgroup basic-reload-inject: pass -> DMESG-WARN (shard-snb) fdo#102707 Test gvt_basic: Subgroup invalid-placeholder-test: skip -> DMESG-FAIL (shard-snb) Test kms_frontbuffer_tracking: Subgroup fbcpsr-1p-primscrn-spr-indfb-move: skip -> INCOMPLETE (shard-snb) Subgroup fbc-1p-offscren-pri-shrfb-draw-render: fail -> PASS (shard-snb) fdo#101623 Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670 fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707 fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 shard-hswtotal:2712 pass:1534 dwarn:1 dfail:0 fail:13 skip:1164 time:9445s shard-snbtotal:2700 pass:1302 dwarn:2 dfail:1 fail:11 skip:1383 time:7738s Blacklisted hosts: shard-apltotal:2712 pass:1671 dwarn:1 dfail:0 fail:23 skip:1017 time:13793s shard-kbltotal:2712 pass:1757 dwarn:47 dfail:2 fail:29 skip:877 time:11273s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_674/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for lib: Provide a library function to test nop execution
== Series Details == Series: lib: Provide a library function to test nop execution URL : https://patchwork.freedesktop.org/series/35383/ State : success == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3521 ad43db157c69 drm-tip: 2017y-12m-14d-20h-09m-53s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: dmesg-fail -> PASS (fi-elk-e7500) fdo#103989 +2 incomplete -> PASS (fi-snb-2520m) fdo#103713 Test gem_sync: Subgroup basic-all: dmesg-fail -> SKIP (fi-blb-e6850) fdo#104259 Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-a: pass -> DMESG-WARN (fi-kbl-r) fdo#104172 +1 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#104259 https://bugs.freedesktop.org/show_bug.cgi?id=104259 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:437s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:437s fi-blb-e6850 total:288 pass:210 dwarn:1 dfail:0 fail:0 skip:77 time:355s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:510s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:279s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:505s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:497s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:490s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:472s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:266s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:538s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:410s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:415s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:388s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:474s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:435s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:480s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:520s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:469s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:524s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:596s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:449s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:541s fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:557s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:493s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:445s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:559s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:415s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:594s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:619s fi-glk-dsi total:15 pass:14 dwarn:0 dfail:0 fail:0 skip:0 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_677/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for tests/gem_eio: Fix usage of gem_quiescent_gpu
== Series Details == Series: tests/gem_eio: Fix usage of gem_quiescent_gpu URL : https://patchwork.freedesktop.org/series/35382/ State : success == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3521 ad43db157c69 drm-tip: 2017y-12m-14d-20h-09m-53s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: dmesg-fail -> DMESG-WARN (fi-elk-e7500) fdo#103989 +1 incomplete -> PASS (fi-snb-2520m) fdo#103713 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: fail -> PASS (fi-gdg-551) fdo#102575 Test gem_sync: Subgroup basic-each: skip -> PASS (fi-blb-e6850) Subgroup basic-many-each: skip -> PASS (fi-blb-e6850) Subgroup basic-store-all: skip -> PASS (fi-blb-e6850) Subgroup basic-store-each: skip -> PASS (fi-blb-e6850) Test gem_tiled_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_tiled_fence_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_wait: Subgroup basic-busy-all: skip -> PASS (fi-blb-e6850) Subgroup basic-wait-all: skip -> PASS (fi-blb-e6850) Subgroup basic-await-all: skip -> PASS (fi-blb-e6850) Test kms_busy: Subgroup basic-flip-a: skip -> PASS (fi-blb-e6850) Subgroup basic-flip-b: skip -> PASS (fi-blb-e6850) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: skip -> PASS (fi-blb-e6850) Test kms_psr_sink_crc: Subgroup psr_basic: dmesg-warn -> PASS (fi-skl-6700hq) fdo#101144 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:440s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:438s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:395s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:502s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:278s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:497s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:503s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:487s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:478s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:179 dwarn:1 dfail:0 fail:0 skip:108 time:263s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:535s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:410s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:416s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:396s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:467s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:427s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:481s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:522s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:470s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:529s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:597s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:449s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:535s fi-skl-6700hqtotal:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:559s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:494s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:445s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:549s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:417s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:601s fi-glk-dsi total:288 pass:176 dwarn:1 dfail:4 fail:0
[Intel-gfx] ✗ Fi.CI.IGT: failure for lib/sysfs: Handle EINTR from vfprintf()
== Series Details == Series: lib/sysfs: Handle EINTR from vfprintf() URL : https://patchwork.freedesktop.org/series/35378/ State : failure == Summary == Test gem_exec_reloc: Subgroup basic-wc-active: pass -> FAIL (shard-hsw) Test kms_plane: Subgroup plane-panning-bottom-right-pipe-b-planes: pass -> INCOMPLETE (shard-hsw) Test drv_module_reload: Subgroup basic-reload-inject: pass -> DMESG-WARN (shard-snb) fdo#102707 Test kms_cursor_crc: Subgroup cursor-128x128-suspend: pass -> INCOMPLETE (shard-hsw) fdo#103375 +1 Test gem_tiled_pread_basic: incomplete -> PASS (shard-hsw) fdo#104218 +1 fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 shard-hswtotal:2567 pass:1449 dwarn:1 dfail:0 fail:10 skip:1105 time:8981s shard-snbtotal:2712 pass:1307 dwarn:2 dfail:0 fail:12 skip:1391 time:8054s Blacklisted hosts: shard-apltotal:2690 pass:1658 dwarn:2 dfail:0 fail:27 skip:1002 time:13485s shard-kbltotal:2712 pass:1799 dwarn:3 dfail:0 fail:31 skip:879 time:10978s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_673/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt] lib: Provide a library function to test nop execution
On 14/12/17 14:24, Chris Wilson wrote: Sometimes a test wants to verify that an engine, or all of them, are functional by executing a nop batch. Provide a common routine to submit an empty batch then test whether the driver is wedged. Reported-by: Antonio Argenziano Signed-off-by: Chris Wilson Cc: Antonio Argenziano LGTM. Reviewed-by: Antonio Argenziano -Antonio ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t] tests/gem_eio: Fix usage of gem_quiescent_gpu
Quoting Antonio Argenziano (2017-12-14 22:01:31) > After change "lib: Ask the kernel to quiesce the GPU" was merged, > gem_quiescent_gpu() would not submit noop batches to all engines > therefore the test should submit the workload and use the library > function to wait for the workload to complete. > > Cc: Chris Wilson > Cc: Mika Kuoppala > Cc: Joonas Lahtinen > Signed-off-by: Antonio Argenziano > --- > tests/gem_eio.c | 30 +- > 1 file changed, 29 insertions(+), 1 deletion(-) > > diff --git a/tests/gem_eio.c b/tests/gem_eio.c > index 2ac9f0a9..868f2236 100644 > --- a/tests/gem_eio.c > +++ b/tests/gem_eio.c > @@ -60,13 +60,41 @@ static bool i915_reset_control(bool enable) > return ret; > } > > +static void noop(int fd, unsigned flags) > +{ > + const uint32_t bbe = MI_BATCH_BUFFER_END; > + struct drm_i915_gem_execbuffer2 eb; > + struct drm_i915_gem_exec_object2 exec; > + > + memset(&exec, 0, sizeof(exec)); > + exec.handle = gem_create(fd, 4096); > + igt_assert((int)exec.handle > 0); gem_create() provides the checks. exec.handle is u32, with 0 being the only special invalid value. It just happens that in the linux implementation it is limited internally by the idr (but that limit may well be removed). Other implementations may use a psuedo-random handle generator. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/glk: Disable Guc and HuC on GLK
== Series Details == Series: drm/i915/glk: Disable Guc and HuC on GLK URL : https://patchwork.freedesktop.org/series/35381/ State : success == Summary == Series 35381v1 drm/i915/glk: Disable Guc and HuC on GLK https://patchwork.freedesktop.org/api/1.0/series/35381/revisions/1/mbox/ Test debugfs_test: Subgroup read_all_entries: incomplete -> PASS (fi-snb-2520m) fdo#103713 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: fail -> PASS (fi-gdg-551) fdo#102575 Test gem_sync: Subgroup basic-each: skip -> PASS (fi-blb-e6850) Subgroup basic-many-each: skip -> PASS (fi-blb-e6850) Subgroup basic-store-all: skip -> PASS (fi-blb-e6850) Subgroup basic-store-each: skip -> PASS (fi-blb-e6850) Test gem_tiled_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_tiled_fence_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_wait: Subgroup basic-busy-all: skip -> PASS (fi-blb-e6850) Subgroup basic-wait-all: skip -> PASS (fi-blb-e6850) Subgroup basic-await-all: skip -> PASS (fi-blb-e6850) Test kms_busy: Subgroup basic-flip-a: skip -> PASS (fi-blb-e6850) pass -> DMESG-WARN (fi-elk-e7500) fdo#103989 Subgroup basic-flip-b: skip -> PASS (fi-blb-e6850) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: skip -> PASS (fi-blb-e6850) Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-a: pass -> DMESG-WARN (fi-kbl-r) fdo#104172 +1 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:435s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:445s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:393s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:505s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:278s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:495s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:496s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:488s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:475s fi-elk-e7500 total:224 pass:163 dwarn:14 dfail:1 fail:0 skip:45 fi-gdg-551 total:288 pass:179 dwarn:1 dfail:0 fail:0 skip:108 time:264s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:530s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:417s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:414s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:393s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:478s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:428s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:479s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:519s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:473s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:526s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:590s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:453s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:538s fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:558s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:492s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:450s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:547s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:422s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:591s fi-glk-dsi total:288 pass:257 dwarn:0 dfail:0 fail:1 skip:30 time:490s fi-cnl-y failed to connect after reboot ad43db157c69bf7311ba5a0278f282796242f34a drm-tip: 2017y-12m-14d-20h-09m-53s U
Re: [Intel-gfx] [PATCH] drm/i915/glk: Disable Guc and HuC on GLK
>-Original Message- >From: Wajdeczko, Michal >Sent: Thursday, December 14, 2017 2:18 PM >To: intel-gfx@lists.freedesktop.org; Srivatsa, Anusha > >Cc: Vivi, Rodrigo >Subject: Re: [Intel-gfx] [PATCH] drm/i915/glk: Disable Guc and HuC on GLK > >On Thu, 14 Dec 2017 22:58:37 +0100, Anusha Srivatsa > wrote: > >> Since the firmwares are released yet to public repo, disable them on >> Geminilake. >> >> Cc: Rodrigo Vivi >> Signed-off-by: Anusha Srivatsa >> --- >> drivers/gpu/drm/i915/i915_pci.c | 5 + >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/i915_pci.c >> b/drivers/gpu/drm/i915/i915_pci.c index fa67d3d..ddf7530 100644 >> --- a/drivers/gpu/drm/i915/i915_pci.c >> +++ b/drivers/gpu/drm/i915/i915_pci.c >> @@ -521,6 +521,11 @@ static const struct intel_device_info >> intel_geminilake_info __initconst = { >> GEN9_LP_FEATURES, >> .platform = INTEL_GEMINILAKE, >> .ddb_size = 1024, >> +/* FIXME Geminilake supports GuC but currently firmwares >> + * have not made it to public repo. Lets disable the support >> + * as a temporary fix. >> + */ >> +.has_guc = 0, > >Maybe better place to put this fix is __get_platform_enable_guc() like in [1] >[1] >https://patchwork.freedesktop.org/patch/192006/ Michal, Hmm the reference patch is controlling guc/huc through a module parameter but wont the above approach be neater platform wise? Anusha >diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c >index 49bccc9..22b0afe 100644 >--- a/drivers/gpu/drm/i915/intel_uc.c >+++ b/drivers/gpu/drm/i915/intel_uc.c >@@ -60,6 +60,8 @@ static int __get_platform_enable_guc(struct >drm_i915_private *dev_priv) > enable_guc |= ENABLE_GUC_LOAD_HUC; > > /* Any platform specific fine-tuning can be done here */ >+ if (IS_GEMINILAKE(dev_priv)) >+ enable_guc = 0; /* no firmware on CI machines */ > > return enable_guc; > } > > >> GLK_COLORS, >> }; ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH igt] lib: Provide a library function to test nop execution
Sometimes a test wants to verify that an engine, or all of them, are functional by executing a nop batch. Provide a common routine to submit an empty batch then test whether the driver is wedged. Reported-by: Antonio Argenziano Signed-off-by: Chris Wilson Cc: Antonio Argenziano --- lib/i915/gem_submission.c | 49 +++ lib/i915/gem_submission.h | 2 ++ tests/gem_eio.c | 2 +- tests/pm_rpm.c| 2 +- 4 files changed, 53 insertions(+), 2 deletions(-) diff --git a/lib/i915/gem_submission.c b/lib/i915/gem_submission.c index 1414c7138..e27ea9ec3 100644 --- a/lib/i915/gem_submission.c +++ b/lib/i915/gem_submission.c @@ -21,14 +21,18 @@ * IN THE SOFTWARE. */ +#include #include #include #include #include "igt_core.h" +#include "igt_gt.h" #include "igt_sysfs.h" #include "intel_chipset.h" +#include "intel_reg.h" +#include "ioctl_wrappers.h" #include "i915/gem_submission.h" @@ -159,3 +163,48 @@ bool gem_has_guc_submission(int fd) { return gem_submission_method(fd) & GEM_SUBMISSION_GUC; } + +static bool is_wedged(int i915) +{ + int err = 0; + if (ioctl(i915, DRM_IOCTL_I915_GEM_THROTTLE)) + err = -errno; + return err == -EIO; +} + +/** + * gem_test_engine: + * @i915: open i915 drm file descriptor + * @engine: the engine (I915_EXEC_RING id) to exercise + * + * Execute a nop batch on the specified, or -1 for all, and check it + * executes. + */ +void gem_test_engine(int i915, unsigned int engine) +{ + const uint32_t bbe = MI_BATCH_BUFFER_END; + struct drm_i915_gem_exec_object2 obj = { + .handle = gem_create(i915, 4096) + }; + struct drm_i915_gem_execbuffer2 execbuf = { + .buffers_ptr = to_user_pointer(&obj), + .buffer_count = 1, + }; + + igt_assert(!is_wedged(i915)); + gem_write(i915, obj.handle, 0, &bbe, sizeof(bbe)); + + if (engine == -1u) { + for_each_engine(i915, engine) { + execbuf.flags = engine; + gem_execbuf(i915, &execbuf); + } + } else { + execbuf.flags = engine; + gem_execbuf(i915, &execbuf); + } + gem_sync(i915, obj.handle); + gem_close(i915, obj.handle); + + igt_assert(!is_wedged(i915)); +} diff --git a/lib/i915/gem_submission.h b/lib/i915/gem_submission.h index 4f588aec7..6b39a0532 100644 --- a/lib/i915/gem_submission.h +++ b/lib/i915/gem_submission.h @@ -33,4 +33,6 @@ bool gem_has_semaphores(int fd); bool gem_has_execlists(int fd); bool gem_has_guc_submission(int fd); +void gem_test_engine(int fd, unsigned int engine); + #endif /* GEM_SUBMISSION_H */ diff --git a/tests/gem_eio.c b/tests/gem_eio.c index 2ac9f0a96..6d5a10f26 100644 --- a/tests/gem_eio.c +++ b/tests/gem_eio.c @@ -66,7 +66,7 @@ static void trigger_reset(int fd) /* And just check the gpu is indeed running again */ igt_debug("Checking that the GPU recovered\n"); - gem_quiescent_gpu(fd); + gem_test_engine(fd, -1); } static void wedge_gpu(int fd) diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c index fb26e384e..d2a6705e1 100644 --- a/tests/pm_rpm.c +++ b/tests/pm_rpm.c @@ -1277,7 +1277,7 @@ static void gem_idle_subtest(void) sleep(5); - gem_quiescent_gpu(drm_fd); + gem_test_engine(drm_fd, -1); } static void gem_evict_pwrite_subtest(void) -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for HAX (rev2)
== Series Details == Series: HAX (rev2) URL : https://patchwork.freedesktop.org/series/35377/ State : failure == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3521 ad43db157c69 drm-tip: 2017y-12m-14d-20h-09m-53s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: dmesg-fail -> DMESG-WARN (fi-elk-e7500) fdo#103989 +1 incomplete -> PASS (fi-snb-2520m) fdo#103713 Test gem_sync: Subgroup basic-each: skip -> PASS (fi-blb-e6850) Subgroup basic-many-each: skip -> PASS (fi-blb-e6850) Subgroup basic-store-all: skip -> PASS (fi-blb-e6850) Subgroup basic-store-each: skip -> PASS (fi-blb-e6850) Test gem_tiled_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_tiled_fence_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_wait: Subgroup basic-busy-all: skip -> PASS (fi-blb-e6850) Subgroup basic-wait-all: skip -> PASS (fi-blb-e6850) Subgroup basic-await-all: skip -> PASS (fi-blb-e6850) Test kms_busy: Subgroup basic-flip-a: skip -> PASS (fi-blb-e6850) Subgroup basic-flip-b: skip -> PASS (fi-blb-e6850) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: skip -> PASS (fi-blb-e6850) Test kms_pipe_crc_basic: Subgroup bad-pipe: pass -> INCOMPLETE (fi-bxt-dsi) Subgroup bad-source: pass -> INCOMPLETE (fi-bsw-n3050) Subgroup hang-read-crc-pipe-a: pass -> INCOMPLETE (fi-skl-6260u) pass -> INCOMPLETE (fi-skl-6770hq) Subgroup hang-read-crc-pipe-b: pass -> INCOMPLETE (fi-bxt-j4205) Subgroup nonblocking-crc-pipe-b: pass -> INCOMPLETE (fi-kbl-7560u) Subgroup nonblocking-crc-pipe-c: pass -> INCOMPLETE (fi-skl-gvtdvm) Subgroup nonblocking-crc-pipe-c-frame-sequence: pass -> INCOMPLETE (fi-skl-6600u) pass -> INCOMPLETE (fi-skl-6700hq) fdo#101144 pass -> INCOMPLETE (fi-kbl-7567u) Subgroup read-crc-pipe-a: notrun -> INCOMPLETE (fi-snb-2520m) Subgroup read-crc-pipe-a-frame-sequence: pass -> INCOMPLETE (fi-bdw-gvtdvm) Subgroup read-crc-pipe-b: pass -> INCOMPLETE (fi-bdw-5557u) pass -> INCOMPLETE (fi-glk-1) Subgroup read-crc-pipe-c-frame-sequence: skip -> INCOMPLETE (fi-byt-j1900) pass -> INCOMPLETE (fi-kbl-7500u) Subgroup suspend-read-crc-pipe-a: pass -> INCOMPLETE (fi-byt-n2820) pass -> INCOMPLETE (fi-kbl-r) fdo#104172 Test pm_rpm: Subgroup basic-pci-d3-state: skip -> INCOMPLETE (fi-ivb-3520m) Subgroup basic-rte: skip -> INCOMPLETE (fi-snb-2600) Test pm_rps: Subgroup basic-api: pass -> INCOMPLETE (fi-hsw-4770r) Test prime_busy: Subgroup basic-before-default: pass -> INCOMPLETE (fi-hsw-4770) Subgroup basic-wait-before-default: pass -> INCOMPLETE (fi-ilk-650) Test prime_self_import: Subgroup basic-llseek-bad: pass -> INCOMPLETE (fi-ivb-3770) Test prime_vgem: Subgroup basic-wait-default: pass -> INCOMPLETE (fi-blb-e6850) fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:240 pass:222 dwarn:0 dfail:0 fail:0 skip:17 fi-bdw-gvtdvmtotal:239 pass:220 dwarn:0 dfail:0 fail:0 skip:18 fi-blb-e6850 total:272 pass:206 dwarn:1 dfail:1 fail:0 skip:63 fi-bsw-n3050 total:228 pass:198 dwarn:0 dfail:0 fail:0 skip:29 fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:847s fi-bxt-dsi total:227 pass:200 dwarn:0 dfail:0 fail:0 skip:26 fi-bxt-j4205 total:230 pass:204 dwarn:0 dfail:0 fail:0 skip:25 fi-byt-j1900 total:243 pass:213 dwarn:0 dfail:0 fail:0 skip:29 fi-byt-n2820 total:244 pass:209 dwarn:0 dfail:0 fail:0 skip:34 fi-elk-e7500 t
[Intel-gfx] ✓ Fi.CI.IGT: success for bunch of drm kernel-doc patches
== Series Details == Series: bunch of drm kernel-doc patches URL : https://patchwork.freedesktop.org/series/35375/ State : success == Summary == Test kms_flip: Subgroup vblank-vs-suspend: incomplete -> PASS (shard-hsw) fdo#103375 Test kms_setmode: Subgroup basic: fail -> PASS (shard-hsw) fdo#99912 Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> INCOMPLETE (shard-hsw) fdo#104218 Test kms_frontbuffer_tracking: Subgroup fbc-1p-offscren-pri-shrfb-draw-render: fail -> PASS (shard-snb) fdo#101623 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 shard-hswtotal:2645 pass:1495 dwarn:1 dfail:0 fail:9 skip:1139 time:9165s shard-snbtotal:2712 pass:1309 dwarn:1 dfail:0 fail:11 skip:1391 time:8035s Blacklisted hosts: shard-apltotal:2712 pass:1682 dwarn:1 dfail:0 fail:27 skip:1001 time:13939s shard-kbltotal:2712 pass:1801 dwarn:1 dfail:0 fail:32 skip:878 time:10997s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7497/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/glk: Disable Guc and HuC on GLK
On Thu, 14 Dec 2017 22:58:37 +0100, Anusha Srivatsa wrote: Since the firmwares are released yet to public repo, disable them on Geminilake. Cc: Rodrigo Vivi Signed-off-by: Anusha Srivatsa --- drivers/gpu/drm/i915/i915_pci.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index fa67d3d..ddf7530 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -521,6 +521,11 @@ static const struct intel_device_info intel_geminilake_info __initconst = { GEN9_LP_FEATURES, .platform = INTEL_GEMINILAKE, .ddb_size = 1024, + /* FIXME Geminilake supports GuC but currently firmwares +* have not made it to public repo. Lets disable the support +* as a temporary fix. +*/ + .has_guc = 0, Maybe better place to put this fix is __get_platform_enable_guc() like in [1] [1] https://patchwork.freedesktop.org/patch/192006/ diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c index 49bccc9..22b0afe 100644 --- a/drivers/gpu/drm/i915/intel_uc.c +++ b/drivers/gpu/drm/i915/intel_uc.c @@ -60,6 +60,8 @@ static int __get_platform_enable_guc(struct drm_i915_private *dev_priv) enable_guc |= ENABLE_GUC_LOAD_HUC; /* Any platform specific fine-tuning can be done here */ + if (IS_GEMINILAKE(dev_priv)) + enable_guc = 0; /* no firmware on CI machines */ return enable_guc; } GLK_COLORS, }; ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/lpe: Remove double-encapsulation of info string
On Wed, 2017-12-13 at 18:28 +, Chris Wilson wrote: > Just printk the string, or at least do not double up on the newlines! > Reviewed-by: Dhinakaran Pandiyan > Fixes: eef57324d926 ("drm/i915: setup bridge for HDMI LPE audio driver") > Signed-off-by: Chris Wilson > Cc: Pierre-Louis Bossart > Cc: Jerome Anand > Cc: Jani Nikula > Cc: Takashi Iwai > --- > drivers/gpu/drm/i915/intel_lpe_audio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_lpe_audio.c > b/drivers/gpu/drm/i915/intel_lpe_audio.c > index 3bf65288..5809b29044fc 100644 > --- a/drivers/gpu/drm/i915/intel_lpe_audio.c > +++ b/drivers/gpu/drm/i915/intel_lpe_audio.c > @@ -193,7 +193,7 @@ static bool lpe_audio_detect(struct drm_i915_private > *dev_priv) > }; > > if (!pci_dev_present(atom_hdaudio_ids)) { > - DRM_INFO("%s\n", "HDaudio controller not detected, > using LPE audio instead\n"); > + DRM_INFO("HDaudio controller not detected, using LPE > audio instead\n"); > lpe_present = true; > } > } ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t] tests/gem_eio: Fix usage of gem_quiescent_gpu
After change "lib: Ask the kernel to quiesce the GPU" was merged, gem_quiescent_gpu() would not submit noop batches to all engines therefore the test should submit the workload and use the library function to wait for the workload to complete. Cc: Chris Wilson Cc: Mika Kuoppala Cc: Joonas Lahtinen Signed-off-by: Antonio Argenziano --- tests/gem_eio.c | 30 +- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/tests/gem_eio.c b/tests/gem_eio.c index 2ac9f0a9..868f2236 100644 --- a/tests/gem_eio.c +++ b/tests/gem_eio.c @@ -60,13 +60,41 @@ static bool i915_reset_control(bool enable) return ret; } +static void noop(int fd, unsigned flags) +{ + const uint32_t bbe = MI_BATCH_BUFFER_END; + struct drm_i915_gem_execbuffer2 eb; + struct drm_i915_gem_exec_object2 exec; + + memset(&exec, 0, sizeof(exec)); + exec.handle = gem_create(fd, 4096); + igt_assert((int)exec.handle > 0); + gem_write(fd, exec.handle, 0, &bbe, sizeof(bbe)); + + memset(&eb, 0, sizeof(eb)); + eb.buffers_ptr = to_user_pointer(&exec); + eb.buffer_count = 1; + eb.flags = flags; + + gem_execbuf(fd, &eb); +} + +static voidnoop_all_engines(int fd) +{ + unsigned engine; + for_each_engine(fd, engine) + noop(fd, engine); + + gem_quiescent_gpu(fd); +} + static void trigger_reset(int fd) { igt_force_gpu_reset(fd); /* And just check the gpu is indeed running again */ igt_debug("Checking that the GPU recovered\n"); - gem_quiescent_gpu(fd); + noop_all_engines(fd); } static void wedge_gpu(int fd) -- 2.14.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for igt/tools_test: Check the tools exist before executing (rev3)
== Series Details == Series: igt/tools_test: Check the tools exist before executing (rev3) URL : https://patchwork.freedesktop.org/series/35237/ State : success == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3521 ad43db157c69 drm-tip: 2017y-12m-14d-20h-09m-53s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: dmesg-fail -> DMESG-WARN (fi-elk-e7500) fdo#103989 +1 incomplete -> PASS (fi-snb-2520m) fdo#103713 Test gem_sync: Subgroup basic-each: skip -> PASS (fi-blb-e6850) Subgroup basic-many-each: skip -> PASS (fi-blb-e6850) Subgroup basic-store-all: skip -> PASS (fi-blb-e6850) Subgroup basic-store-each: skip -> PASS (fi-blb-e6850) Test gem_tiled_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_tiled_fence_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_wait: Subgroup basic-busy-all: skip -> PASS (fi-blb-e6850) Subgroup basic-wait-all: skip -> PASS (fi-blb-e6850) Subgroup basic-await-all: skip -> PASS (fi-blb-e6850) Test kms_busy: Subgroup basic-flip-a: skip -> PASS (fi-blb-e6850) Subgroup basic-flip-b: skip -> PASS (fi-blb-e6850) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: skip -> PASS (fi-blb-e6850) Test kms_psr_sink_crc: Subgroup psr_basic: dmesg-warn -> PASS (fi-skl-6700hq) fdo#101144 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:437s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:440s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:395s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:518s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:281s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:500s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:502s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:486s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:469s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:266s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:533s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:408s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:415s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:394s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:477s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:428s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:481s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:524s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:467s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:521s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:602s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:443s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:532s fi-skl-6700hqtotal:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:556s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:491s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:451s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:554s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:416s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:604s fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:480s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_674/issues.html ___ In
[Intel-gfx] [PATCH] drm/i915/glk: Disable Guc and HuC on GLK
Since the firmwares are released yet to public repo, disable them on Geminilake. Cc: Rodrigo Vivi Signed-off-by: Anusha Srivatsa --- drivers/gpu/drm/i915/i915_pci.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index fa67d3d..ddf7530 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -521,6 +521,11 @@ static const struct intel_device_info intel_geminilake_info __initconst = { GEN9_LP_FEATURES, .platform = INTEL_GEMINILAKE, .ddb_size = 1024, + /* FIXME Geminilake supports GuC but currently firmwares +* have not made it to public repo. Lets disable the support +* as a temporary fix. +*/ + .has_guc = 0, GLK_COLORS, }; -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for lib/sysfs: Handle EINTR from vfprintf()
== Series Details == Series: lib/sysfs: Handle EINTR from vfprintf() URL : https://patchwork.freedesktop.org/series/35378/ State : success == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3521 ad43db157c69 drm-tip: 2017y-12m-14d-20h-09m-53s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: dmesg-fail -> PASS (fi-elk-e7500) fdo#103989 +2 incomplete -> PASS (fi-snb-2520m) fdo#103713 Test gem_sync: Subgroup basic-all: dmesg-fail -> FAIL (fi-blb-e6850) fdo#104259 Subgroup basic-each: skip -> PASS (fi-blb-e6850) Subgroup basic-many-each: skip -> PASS (fi-blb-e6850) Subgroup basic-store-all: skip -> PASS (fi-blb-e6850) Subgroup basic-store-each: skip -> PASS (fi-blb-e6850) Test gem_tiled_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_tiled_fence_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_wait: Subgroup basic-busy-all: skip -> PASS (fi-blb-e6850) Subgroup basic-wait-all: skip -> PASS (fi-blb-e6850) Subgroup basic-await-all: skip -> PASS (fi-blb-e6850) Test kms_busy: Subgroup basic-flip-a: skip -> PASS (fi-blb-e6850) Subgroup basic-flip-b: skip -> PASS (fi-blb-e6850) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: skip -> PASS (fi-blb-e6850) Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-a: pass -> DMESG-WARN (fi-kbl-r) fdo#104172 +1 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#104259 https://bugs.freedesktop.org/show_bug.cgi?id=104259 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:437s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:443s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:0 fail:1 skip:64 time:387s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:508s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:280s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:497s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:497s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:484s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:476s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:264s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:530s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:414s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:416s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:398s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:481s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:425s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:478s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:520s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:470s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:522s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:595s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:446s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:537s fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:556s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:496s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:444s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:554s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:419s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:588s fi-cnl-y total:218 pass:197 dwarn:0 dfail:0 fail:0 skip:20 fi-glk-dsi
[Intel-gfx] [PATCH igt] HAX
--- lib/drmtest.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/drmtest.c b/lib/drmtest.c index fd11f5f58..567d8d9b4 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -165,6 +165,7 @@ void gem_quiescent_gpu(int fd) igt_drop_caches_set(fd, DROP_ACTIVE | DROP_RETIRE | DROP_IDLE | DROP_FREED); + sleep(1); } /** -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for HAX
== Series Details == Series: HAX URL : https://patchwork.freedesktop.org/series/35377/ State : failure == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3521 ad43db157c69 drm-tip: 2017y-12m-14d-20h-09m-53s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: dmesg-fail -> DMESG-WARN (fi-elk-e7500) fdo#103989 +1 incomplete -> PASS (fi-snb-2520m) fdo#103713 Test gem_sync: Subgroup basic-all: dmesg-fail -> FAIL (fi-blb-e6850) fdo#104259 Subgroup basic-each: skip -> PASS (fi-blb-e6850) Subgroup basic-many-each: skip -> PASS (fi-blb-e6850) Subgroup basic-store-all: skip -> PASS (fi-blb-e6850) Subgroup basic-store-each: skip -> PASS (fi-blb-e6850) Test gem_tiled_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_tiled_fence_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_wait: Subgroup basic-busy-all: skip -> PASS (fi-blb-e6850) Subgroup basic-wait-all: skip -> PASS (fi-blb-e6850) Subgroup basic-await-all: skip -> PASS (fi-blb-e6850) Test kms_busy: Subgroup basic-flip-a: skip -> PASS (fi-blb-e6850) Subgroup basic-flip-b: skip -> PASS (fi-blb-e6850) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: skip -> PASS (fi-blb-e6850) Test kms_pipe_crc_basic: Subgroup hang-read-crc-pipe-a: skip -> INCOMPLETE (fi-bsw-n3050) pass -> INCOMPLETE (fi-bxt-j4205) Subgroup hang-read-crc-pipe-c: pass -> INCOMPLETE (fi-skl-6770hq) pass -> INCOMPLETE (fi-bxt-dsi) Subgroup nonblocking-crc-pipe-a-frame-sequence: pass -> INCOMPLETE (fi-skl-6260u) Subgroup nonblocking-crc-pipe-b-frame-sequence: pass -> INCOMPLETE (fi-kbl-7560u) Subgroup nonblocking-crc-pipe-c-frame-sequence: pass -> INCOMPLETE (fi-skl-gvtdvm) pass -> INCOMPLETE (fi-kbl-7567u) Subgroup read-crc-pipe-a-frame-sequence: pass -> INCOMPLETE (fi-bdw-gvtdvm) pass -> INCOMPLETE (fi-skl-6600u) Subgroup read-crc-pipe-b: notrun -> INCOMPLETE (fi-snb-2520m) pass -> INCOMPLETE (fi-skl-6700hq) fdo#101144 pass -> INCOMPLETE (fi-glk-1) Subgroup suspend-read-crc-pipe-a: pass -> INCOMPLETE (fi-byt-j1900) pass -> INCOMPLETE (fi-bdw-5557u) fdo#104057 pass -> DMESG-WARN (fi-kbl-r) fdo#104172 +1 Test pm_backlight: Subgroup basic-brightness: pass -> INCOMPLETE (fi-kbl-r) Test pm_rpm: Subgroup basic-pci-d3-state: skip -> INCOMPLETE (fi-ivb-3520m) skip -> INCOMPLETE (fi-ivb-3770) Subgroup basic-rte: pass -> INCOMPLETE (fi-kbl-7500u) Test prime_busy: Subgroup basic-before-default: pass -> INCOMPLETE (fi-snb-2600) Test prime_self_import: Subgroup basic-llseek-bad: pass -> INCOMPLETE (fi-hsw-4770) Test prime_vgem: Subgroup basic-busy-default: pass -> INCOMPLETE (fi-ilk-650) Test drv_module_reload: Subgroup basic-no-display: pass -> INCOMPLETE (fi-blb-e6850) fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#104259 https://bugs.freedesktop.org/show_bug.cgi?id=104259 fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144 fdo#104057 https://bugs.freedesktop.org/show_bug.cgi?id=104057 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:244 pass:226 dwarn:0 dfail:0 fail:0 skip:17 fi-bdw-gvtdvmtotal:239 pass:220 dwarn:0 dfail:0 fail:0 skip:18 fi-blb-e6850 total:286 pass:220 dwarn:1 dfail:0 fail:1 skip:63 fi-bsw-n3050 total:229 pass:199 dwarn:0 dfail:0 fail:0 skip:29 fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:845s fi-bxt-dsi total:231 pass:204 dwarn:0 dfail:0 fail:0 skip:26 fi-bxt-j4205 total:229 pass:203 dwarn:0 dfail:0 fail:0 skip:25 fi-byt-j1900 total:244 pass:213 dwarn:0 dfail:0 fail:0 skip:30 fi-byt-
[Intel-gfx] ✗ Fi.CI.IGT: warning for lib/debug: Convert igt_drop_caches_set() to use common file writers
== Series Details == Series: lib/debug: Convert igt_drop_caches_set() to use common file writers URL : https://patchwork.freedesktop.org/series/35374/ State : warning == Summary == Test kms_frontbuffer_tracking: Subgroup fbc-1p-offscren-pri-shrfb-draw-render: pass -> FAIL (shard-snb) fdo#101623 Test gem_tiled_swapping: Subgroup non-threaded: pass -> INCOMPLETE (shard-hsw) fdo#104218 Test kms_cursor_crc: Subgroup cursor-128x128-rapid-movement: pass -> SKIP (shard-hsw) Subgroup cursor-64x64-onscreen: pass -> SKIP (shard-hsw) Test kms_draw_crc: Subgroup draw-method-xrgb-mmap-cpu-untiled: pass -> SKIP (shard-hsw) Test kms_atomic_interruptible: Subgroup legacy-cursor: pass -> SKIP (shard-hsw) Test kms_flip: Subgroup flip-vs-panning-vs-hang-interruptible: dmesg-warn -> PASS (shard-snb) fdo#103821 Subgroup plain-flip-fb-recreate: fail -> PASS (shard-snb) fdo#100368 +1 Subgroup modeset-vs-vblank-race: fail -> PASS (shard-hsw) fdo#103060 Test kms_plane_lowres: Subgroup pipe-b-tiling-none: incomplete -> PASS (shard-snb) Test pm_rpm: Subgroup cursor-dpms: skip -> PASS (shard-hsw) fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#103821 https://bugs.freedesktop.org/show_bug.cgi?id=103821 fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368 fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060 shard-hswtotal:2661 pass:1501 dwarn:1 dfail:0 fail:11 skip:1147 time:8925s shard-snbtotal:2712 pass:1308 dwarn:1 dfail:0 fail:12 skip:1391 time:8096s Blacklisted hosts: shard-apltotal:2712 pass:1686 dwarn:1 dfail:0 fail:24 skip:1001 time:13793s shard-kbltotal:2686 pass:1792 dwarn:1 dfail:0 fail:26 skip:866 time:10519s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_671/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH igt] lib/sysfs: Handle EINTR from vfprintf()
Some write operations into sysfs may be slow and potentially interrupted by a signal. So handle EINTR by repeating the vfprintf(). A partial is reported back to the caller, as is any other error. Signed-off-by: Chris Wilson --- lib/igt_sysfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c index e7c67dae3..030d1c6a5 100644 --- a/lib/igt_sysfs.c +++ b/lib/igt_sysfs.c @@ -399,7 +399,9 @@ int igt_sysfs_vprintf(int dir, const char *attr, const char *fmt, va_list ap) file = fdopen(fd, "w"); if (file) { - ret = vfprintf(file, fmt, ap); + do { + ret = vfprintf(file, fmt, ap); + } while (ret == -1 && errno == EINTR); fclose(file); } close(fd); -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for bunch of drm kernel-doc patches
== Series Details == Series: bunch of drm kernel-doc patches URL : https://patchwork.freedesktop.org/series/35375/ State : success == Summary == Series 35375v1 bunch of drm kernel-doc patches https://patchwork.freedesktop.org/api/1.0/series/35375/revisions/1/mbox/ Test debugfs_test: Subgroup read_all_entries: dmesg-fail -> DMESG-WARN (fi-elk-e7500) fdo#103989 incomplete -> PASS (fi-snb-2520m) fdo#103713 +1 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: fail -> PASS (fi-gdg-551) fdo#102575 Test gem_sync: Subgroup basic-each: skip -> PASS (fi-blb-e6850) Subgroup basic-many-each: skip -> PASS (fi-blb-e6850) Subgroup basic-store-all: skip -> PASS (fi-blb-e6850) Subgroup basic-store-each: skip -> PASS (fi-blb-e6850) Test gem_tiled_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_tiled_fence_blits: Subgroup basic: skip -> PASS (fi-blb-e6850) Test gem_wait: Subgroup basic-busy-all: skip -> PASS (fi-blb-e6850) Subgroup basic-wait-all: skip -> PASS (fi-blb-e6850) Subgroup basic-await-all: skip -> PASS (fi-blb-e6850) Test kms_busy: Subgroup basic-flip-a: skip -> PASS (fi-blb-e6850) Subgroup basic-flip-b: skip -> PASS (fi-blb-e6850) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: skip -> PASS (fi-blb-e6850) Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-a: pass -> DMESG-WARN (fi-kbl-r) fdo#104172 +1 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:431s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:436s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:395s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:499s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:277s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:497s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:496s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:477s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:466s fi-elk-e7500 total:224 pass:164 dwarn:14 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:179 dwarn:1 dfail:0 fail:0 skip:108 time:264s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:533s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:408s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:412s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:396s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:473s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:419s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:480s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:519s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:465s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:522s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:594s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:442s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:532s fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:556s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:446s fi-snb-2520m total:245 pass:211 dwarn:0 dfail:0 fail:0 skip:33 fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:411s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:583s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:614s fi-glk-dsi total:288 pass:257 dwarn:0 dfail:0 fail:1 skip:30 time:495s ad43db157c69bf7311ba5a0278f282796242f34a drm-tip: 2017y-
[Intel-gfx] [PATCH igt] HAX
--- lib/drmtest.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/drmtest.c b/lib/drmtest.c index fd11f5f58..016493f84 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -163,6 +163,7 @@ void gem_quiescent_gpu(int fd) { igt_terminate_spin_batches(); + sleep(1); igt_drop_caches_set(fd, DROP_ACTIVE | DROP_RETIRE | DROP_IDLE | DROP_FREED); } -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 5/5] drm/doc: Move legacy kms helpers to the very end
We don't want people to accidentally stumble over there. Also rename the plane helpers to legacy plane helpers. After Ville's patch to make the clipping helper atomic and move it to drm_atomic_helper.c there's nothing left in there that should be useful for modern drivers. v2: Laurent had a few questions around how state is added to drm_atomic_state, tried to clarify that. And spotted another sentence where the docs suggested subclassing. Signed-off-by: Daniel Vetter --- Documentation/gpu/drm-kms-helpers.rst | 36 +-- Documentation/gpu/drm-kms.rst | 8 include/drm/drm_atomic.h | 4 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/Documentation/gpu/drm-kms-helpers.rst b/Documentation/gpu/drm-kms-helpers.rst index 3ea622876b67..e37557b30f62 100644 --- a/Documentation/gpu/drm-kms-helpers.rst +++ b/Documentation/gpu/drm-kms-helpers.rst @@ -74,15 +74,6 @@ Helper Functions Reference .. kernel-doc:: drivers/gpu/drm/drm_atomic_helper.c :export: -Legacy CRTC/Modeset Helper Functions Reference -== - -.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c - :doc: overview - -.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c - :export: - Simple KMS Helper Reference === @@ -282,15 +273,6 @@ Flip-work Helper Reference .. kernel-doc:: drivers/gpu/drm/drm_flip_work.c :export: -Plane Helper Reference -== - -.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c - :doc: overview - -.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c - :export: - Auxiliary Modeset Helpers = @@ -308,3 +290,21 @@ Framebuffer GEM Helper Reference .. kernel-doc:: drivers/gpu/drm/drm_gem_framebuffer_helper.c :export: + +Legacy Plane Helper Reference += + +.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c + :doc: overview + +.. kernel-doc:: drivers/gpu/drm/drm_plane_helper.c + :export: + +Legacy CRTC/Modeset Helper Functions Reference +== + +.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c + :doc: overview + +.. kernel-doc:: drivers/gpu/drm/drm_crtc_helper.c + :export: diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst index 420025bd6a9b..cbba93483aec 100644 --- a/Documentation/gpu/drm-kms.rst +++ b/Documentation/gpu/drm-kms.rst @@ -263,10 +263,10 @@ Taken all together there's two consequences for the atomic design: - An atomic update is assembled and validated as an entirely free-standing pile of structures within the :c:type:`drm_atomic_state ` - container. Again drivers can subclass that container for their own state - structure tracking needs. Only when a state is committed is it applied to the - driver and modeset objects. This way rolling back an update boils down to - releasing memory and unreferencing objects like framebuffers. + container. Driver private state structures are also tracked in the same + structure, see the next chapter. Only when a state is committed is it applied + to the driver and modeset objects. This way rolling back an update boils down + to releasing memory and unreferencing objects like framebuffers. Read on in this chapter, and also in :ref:`drm_atomic_helper` for more detailed coverage of specific topics. diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 8e4829a25c1b..e7f25e342cc8 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -246,6 +246,10 @@ struct __drm_private_objs_state { * @num_private_objs: size of the @private_objs array * @private_objs: pointer to array of private object pointers * @acquire_ctx: acquire context for this atomic modeset state update + * + * States are added to an atomic update by calling drm_atomic_get_crtc_state(), + * drm_atomic_get_plane_state(), drm_atomic_get_connector_state(), or for + * private state structures, drm_atomic_get_private_obj_state(). */ struct drm_atomic_state { struct kref ref; -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 3/5] drm/syncobj: some kerneldoc polish
Complete a few missing bits, fix up the existing xcross-references and add a bunch more. Cc: Dave Airlie via lists.freedesktop.org Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_syncobj.c | 45 +++ include/drm/drm_syncobj.h | 32 +- 2 files changed, 60 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c index 9b733c510cbf..b6d0c2c400ec 100644 --- a/drivers/gpu/drm/drm_syncobj.c +++ b/drivers/gpu/drm/drm_syncobj.c @@ -29,9 +29,9 @@ /** * DOC: Overview * - * DRM synchronisation objects (syncobj) are a persistent objects, - * that contain an optional fence. The fence can be updated with a new - * fence, or be NULL. + * DRM synchronisation objects (syncobj, see struct &drm_syncobj) are a + * persistent objects, that contain an optional fence. The fence can be updated + * with a new fence, or be NULL. * * syncobj's can be waited upon, where it will wait for the underlying * fence. @@ -61,7 +61,8 @@ * @file_private: drm file private pointer * @handle: sync object handle to lookup. * - * Returns a reference to the syncobj pointed to by handle or NULL. + * Returns a reference to the syncobj pointed to by handle or NULL. The + * reference must be released by calling drm_syncobj_put(). */ struct drm_syncobj *drm_syncobj_find(struct drm_file *file_private, u32 handle) @@ -229,6 +230,19 @@ static int drm_syncobj_assign_null_handle(struct drm_syncobj *syncobj) return 0; } +/** + * drm_syncobj_find_fence - lookup and reference the fence in a sync object + * @file_private: drm file private pointer + * @handle: sync object handle to lookup. + * @fence: out parameter for the fence + * + * This is just a convenience function that combines drm_syncobj_find() and + * drm_syncobj_fence_get(). + * + * Returns 0 on success or a negative error value on failure. On success @fence + * contains a reference to the fence, which mus be released by calling + * dma_fence_put(). + */ int drm_syncobj_find_fence(struct drm_file *file_private, u32 handle, struct dma_fence **fence) @@ -269,6 +283,12 @@ EXPORT_SYMBOL(drm_syncobj_free); * @out_syncobj: returned syncobj * @flags: DRM_SYNCOBJ_* flags * @fence: if non-NULL, the syncobj will represent this fence + * + * This is the first function to create a sync object. After creating drivers + * probably want to make it available to userspace, either through + * drm_syncobj_get_handle() or drm_syncobj_get_fd(). + * + * Returns 0 on success or a negative error value on failure. */ int drm_syncobj_create(struct drm_syncobj **out_syncobj, uint32_t flags, struct dma_fence *fence) @@ -302,6 +322,14 @@ EXPORT_SYMBOL(drm_syncobj_create); /** * drm_syncobj_get_handle - get a handle from a syncobj + * @file_private: drm file private pointer + * @syncobj: Sync object to export + * @handle: out parameter with the new handle + * + * Exports a sync object created with drm_syncobj_create() as a handle on + * @file_private to userspace. + * + * Returns 0 on success or a negative error value on failure. */ int drm_syncobj_get_handle(struct drm_file *file_private, struct drm_syncobj *syncobj, u32 *handle) @@ -388,6 +416,15 @@ static int drm_syncobj_alloc_file(struct drm_syncobj *syncobj) return 0; } +/** + * drm_syncobj_get_fd - get a file descriptor from a syncobj + * @syncobj: Sync object to export + * @p_fd: out parameter with the new file descriptor + * + * Exports a sync object created with drm_syncobj_create() as a file descriptor. + * + * Returns 0 on success or a negative error value on failure. + */ int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd) { int ret; diff --git a/include/drm/drm_syncobj.h b/include/drm/drm_syncobj.h index 9e8ba90c6784..87865774bdaa 100644 --- a/include/drm/drm_syncobj.h +++ b/include/drm/drm_syncobj.h @@ -33,36 +33,31 @@ struct drm_syncobj_cb; /** * struct drm_syncobj - sync object. * - * This structure defines a generic sync object which wraps a dma fence. + * This structure defines a generic sync object which wraps a &dma_fence. */ struct drm_syncobj { /** -* @refcount: -* -* Reference count of this object. +* @refcount: Reference count of this object. */ struct kref refcount; /** * @fence: * NULL or a pointer to the fence bound to this object. * -* This field should not be used directly. Use drm_syncobj_fence_get -* and drm_syncobj_replace_fence instead. +* This field should not be used directly. Use drm_syncobj_fence_get() +* and drm_syncobj_replace_fence() instead. */ struct dma_fence __rcu *fence; /** -* @cb_list: -* List of callbacks to call wh
[Intel-gfx] [PATCH 2/5] drm/print: Unconfuse kerneldoc
It thinks we want to document the __printf(2,0) annotion. Not sure we want to teach it about all possible gcc-only flags, hence why I opted for the cheap trick of just moving it ahead of the kerneldoc. This is only a problem for static inline functions, since for non-inline function the kerneldoc is in the .c file, but the special annotations are all in the header. Cc'ing kernel-doc maintainers as fyi. Cc: linux-...@vger.kernel.org Cc: Jonathan Corbet Signed-off-by: Daniel Vetter --- include/drm/drm_print.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h index 5f9932e2246e..2a4a42e59a47 100644 --- a/include/drm/drm_print.h +++ b/include/drm/drm_print.h @@ -80,13 +80,13 @@ void __drm_printfn_debug(struct drm_printer *p, struct va_format *vaf); __printf(2, 3) void drm_printf(struct drm_printer *p, const char *f, ...); +__printf(2, 0) /** * drm_vprintf - print to a &drm_printer stream * @p: the &drm_printer * @fmt: format string * @va: the va_list */ -__printf(2, 0) static inline void drm_vprintf(struct drm_printer *p, const char *fmt, va_list *va) { -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 1/5] drm/edid: kerneldoc for is_hdmi2_sink
Also some breadcrumbs for how exactly to find this. Probably should pass drm_connector * or at least drm_display_info * to that function instead. But drm_hdmi_avi_infoframe_quant_range probably also wants drm_connector_state (and the hdmi stuff moved into that), so this is a bit more work. Cc: Ville Syrjälä Fixes: 9271c0ca573e ("drm/edid: Don't send non-zero YQ in AVI infoframe for HDMI 1.x sinks") Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_edid.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 365901c1c33c..56ebef0c5fad 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -4871,6 +4871,11 @@ EXPORT_SYMBOL(drm_hdmi_avi_infoframe_from_display_mode); * @mode: DRM display mode * @rgb_quant_range: RGB quantization range (Q) * @rgb_quant_range_selectable: Sink support selectable RGB quantization range (QS) + * @is_hdmi2_sink: HDMI 2.0 sink, which has different default recommendations + * + * Note that @is_hdmi2_sink can be derrived by looking at the + * &drm_scdc.supported flag stored in &drm_hdmi_info.scdc, + * &drm_display_info.hdmi, which can be found in &drm_connector.display_info. */ void drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame, -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 0/5] bunch of drm kernel-doc patches
Hi all, Originally I wanted to include the atomic helper split-up here, but once more I failed to get that done. So just a few patches to clean up accumlated kernel-doc warnings, plus some real docs for the new best practices for handling driver private objects. That was motivated by a recent discussion. Cheers, Daniel Daniel Vetter (5): drm/edid: kerneldoc for is_hdmi2_sink drm/print: Unconfuse kerneldoc drm/syncobj: some kerneldoc polish drm/atomic: document how to handle driver private objects drm/doc: Move legacy kms helpers to the very end Documentation/gpu/drm-kms-helpers.rst | 36 ++-- Documentation/gpu/drm-kms.rst | 14 +++ drivers/gpu/drm/drm_atomic.c | 45 --- drivers/gpu/drm/drm_edid.c| 5 drivers/gpu/drm/drm_syncobj.c | 45 +++ include/drm/drm_atomic.h | 32 + include/drm/drm_mode_config.h | 9 +++ include/drm/drm_print.h | 2 +- include/drm/drm_syncobj.h | 32 +++-- 9 files changed, 177 insertions(+), 43 deletions(-) -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 4/5] drm/atomic: document how to handle driver private objects
DK put some nice docs into the commit introducing driver private state, but in the git history alone it'll be lost. Also, since Ville remove the void* usage it's a good opportunity to give the driver private stuff some tlc on the doc front. Finally try to explain why the "let's just subclass drm_atomic_state" approach wasn't the greatest, and annotate all those functions as deprecated in favour of more standardized driver private states. Also note where we could/should extend driver private states going forward (atm neither locking nor synchronization is handled in core/helpers, which isn't really all that great). Cc: Harry Wentland Cc: Dhinakaran Pandiyan Cc: Maarten Lankhorst Cc: Ville Syrjälä Cc: Laurent Pinchart Cc: Rob Clark Cc: Alex Deucher Cc: Ben Skeggs Signed-off-by: Daniel Vetter --- Documentation/gpu/drm-kms.rst | 6 ++ drivers/gpu/drm/drm_atomic.c | 45 --- include/drm/drm_atomic.h | 28 +++ include/drm/drm_mode_config.h | 9 + 4 files changed, 85 insertions(+), 3 deletions(-) diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst index 307284125d7a..420025bd6a9b 100644 --- a/Documentation/gpu/drm-kms.rst +++ b/Documentation/gpu/drm-kms.rst @@ -271,6 +271,12 @@ Taken all together there's two consequences for the atomic design: Read on in this chapter, and also in :ref:`drm_atomic_helper` for more detailed coverage of specific topics. +Handling Driver Private State +- + +.. kernel-doc:: drivers/gpu/drm/drm_atomic.c + :doc: handling driver private state + Atomic Mode Setting Function Reference -- diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 37445d50816a..15e1a35c74a8 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -50,7 +50,8 @@ EXPORT_SYMBOL(__drm_crtc_commit_free); * @state: atomic state * * Free all the memory allocated by drm_atomic_state_init. - * This is useful for drivers that subclass the atomic state. + * This should only be used by drivers which are still subclassing + * &drm_atomic_state and haven't switched to &drm_private_state yet. */ void drm_atomic_state_default_release(struct drm_atomic_state *state) { @@ -67,7 +68,8 @@ EXPORT_SYMBOL(drm_atomic_state_default_release); * @state: atomic state * * Default implementation for filling in a new atomic state. - * This is useful for drivers that subclass the atomic state. + * This should only be used by drivers which are still subclassing + * &drm_atomic_state and haven't switched to &drm_private_state yet. */ int drm_atomic_state_init(struct drm_device *dev, struct drm_atomic_state *state) @@ -132,7 +134,8 @@ EXPORT_SYMBOL(drm_atomic_state_alloc); * @state: atomic state * * Default implementation for clearing atomic state. - * This is useful for drivers that subclass the atomic state. + * This should only be used by drivers which are still subclassing + * &drm_atomic_state and haven't switched to &drm_private_state yet. */ void drm_atomic_state_default_clear(struct drm_atomic_state *state) { @@ -946,6 +949,42 @@ static void drm_atomic_plane_print_state(struct drm_printer *p, plane->funcs->atomic_print_state(p, state); } +/** + * DOC: handling driver private state + * + * Very often the DRM objects exposed to userspace in the atomic modeset api + * (&drm_connector, &drm_crtc and &drm_plane) do not map neatly to the + * underlying hardware. Especially for any kind of shared resources (e.g. shared + * clocks, scaler units, bandwidth and fifo limits shared among a group of + * planes or CRTCs, and so on) it makes sense to model these as independent + * objects. Drivers then need to similar state tracking and commit ordering for + * such private (since not exposed to userpace) objects as the atomic core and + * helpers already provide for connectors, planes and CRTCs. + * + * To make this easier on drivers the atomic core provides some support to track + * driver private state objects using struct &drm_private_obj, with the + * associated state struct &drm_private_state. + * + * Similar to userspace-exposed objects, state structures can be acquired by + * calling drm_atomic_get_private_obj_state(). Since this function does not take + * care of locking, drivers should wrap it for each type of private state object + * they have with the required call to drm_modeset_lock() for the corresponding + * &drm_modeset_lock. + * + * All private state structures contained in a &drm_atomic_state update can be + * iterated using for_each_oldnew_private_obj_in_state(), + * for_each_old_private_obj_in_state() and for_each_old_private_obj_in_state(). + * Drivers are recommend to wrap these for each type of driver private state + * object they have, filtering on &drm_private_obj.funcs using for_each_if(), at + * least if they want to iterate over all o
[Intel-gfx] ✓ Fi.CI.BAT: success for lib/debug: Convert igt_drop_caches_set() to use common file writers
== Series Details == Series: lib/debug: Convert igt_drop_caches_set() to use common file writers URL : https://patchwork.freedesktop.org/series/35374/ State : success == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3520 048a4c890dc7 drm-tip: 2017y-12m-14d-19h-09m-41s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: pass -> DMESG-WARN (fi-elk-e7500) fdo#103989 +1 Test gem_sync: Subgroup basic-all: fail -> DMESG-FAIL (fi-blb-e6850) fdo#104259 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#104259 https://bugs.freedesktop.org/show_bug.cgi?id=104259 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:438s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:398s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:498s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:279s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:495s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:502s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:487s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:267s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:534s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:410s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:416s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:391s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:475s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:426s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:479s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:525s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:470s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:521s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:596s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:447s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:534s fi-skl-6700hqtotal:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:556s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:491s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:447s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:554s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:419s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:595s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:624s fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:477s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_671/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] Updated drm-intel-testing
Hi all, The following changes tagged drm-intel-testing-2017-12-14: drm-intel-next-2017-12-14: - Fix documentation build issues (Randy, Markus) - Fix timestamp frequency calculation for perf on CNL (Lionel) - New DMC firmware for Skylake (Anusha) - GTT flush fixes and other GGTT write track and refactors (Chris) - Taint kernel when GPU reset fails (Chris) - Display workarounds organization (Lucas) - GuC and HuC initialization clean-up and fixes (Michal) - Other fixes around GuC submission (Michal) - Execlist clean-ups like caching ELSP reg offset and improving log readability (Chri\ s) - Many other improvements on our logs and dumps (Chris) - Restore GT performance in headless mode with DMC loaded (Tvrtko) - Stop updating legacy fb parameters since FBC is not using anymore (Daniel) - More selftest improvements (Chris) - Preemption fixes and improvements (Chris) - x86/early-quirks improvements for Intel graphics stolen memory. (Joonas, Matthew) - Other improvements on Stolen Memory code to be resource centric. (Matthew) - Improvements and fixes on fence allocation/release (Chris). GVT: - fixes for two coverity scan errors (Colin) - mmio switch code refine (Changbin) - more virtual display dmabuf fixes (Tina/Gustavo) - misc cleanups (Pei) - VFIO mdev display dmabuf interface and gvt support (Tina) - VFIO mdev opregion support/fixes (Tina/Xiong/Chris) - workload scheduling optimization (Changbin) - preemption fix and temporal workaround (Zhenyu) - and misc fixes after refactor (Chris) Thanks, Rodrigo. ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt 2/2] igt/kms_frontbuffer_tracking: Access via GGTT is not guaranteed to be tracked
Quoting Chris Wilson (2017-12-07 09:41:26) > As the system may use a partial vma for a GGTT mmap, access via the GGTT > mmap is not guaranteed to be tracked by FBC's fence. The rule expressed has > been that any access to the frontbuffer should be followed by a fb-dirty > ioctl, so always apply and expect the driver to ellide no-ops. > > Signed-off-by: Chris Wilson Ping? > --- > tests/kms_frontbuffer_tracking.c | 13 +++-- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/tests/kms_frontbuffer_tracking.c > b/tests/kms_frontbuffer_tracking.c > index a068c8afb..1fcca87c9 100644 > --- a/tests/kms_frontbuffer_tracking.c > +++ b/tests/kms_frontbuffer_tracking.c > @@ -1127,8 +1127,7 @@ static void draw_rect(struct draw_pattern_info > *pattern, struct fb_region *fb, > fb->x + rect.x, fb->y + rect.y, > rect.w, rect.h, rect.color); > > - if (method == IGT_DRAW_MMAP_WC) > - fb_dirty_ioctl(fb, &rect); > + fb_dirty_ioctl(fb, &rect); > } > > static void draw_rect_igt_fb(struct draw_pattern_info *pattern, > @@ -2132,16 +2131,10 @@ static void multidraw_subtest(const struct test_mode > *t) > > draw_rect(pattern, target, used_method, r); > > - if (used_method == IGT_DRAW_MMAP_WC) > + if (used_method == IGT_DRAW_MMAP_WC || > + used_method == IGT_DRAW_MMAP_GTT) > wc_used = true; > > - if (used_method == IGT_DRAW_MMAP_GTT && > - wc_used) { > - struct rect rect = > - pattern->get_rect(target, r); > - fb_dirty_ioctl(target, &rect); > - } > - > update_wanted_crc(t, > > &pattern->crcs[t->format][r]); > > -- > 2.15.1 > ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH igt] lib/debug: Convert igt_drop_caches_set() to use common file writers
Why open code a printf/write loop, when we already have a function providing it? Signed-off-by: Chris Wilson Cc: Joonas Lahtinen --- lib/igt_debugfs.c | 18 +- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c index 49b68dfed..1aec079c5 100644 --- a/lib/igt_debugfs.c +++ b/lib/igt_debugfs.c @@ -887,20 +887,12 @@ bool igt_drop_caches_has(int drm_fd, uint64_t val) */ void igt_drop_caches_set(int drm_fd, uint64_t val) { - int fd; - char data[19]; - size_t nbytes; - - sprintf(data, "0x%" PRIx64, val); - - fd = igt_debugfs_open(drm_fd, "i915_gem_drop_caches", O_WRONLY); + int dir; - igt_assert(fd >= 0); - do { - nbytes = write(fd, data, strlen(data) + 1); - } while (nbytes == -1 && (errno == EINTR || errno == EAGAIN)); - igt_assert(nbytes == strlen(data) + 1); - close(fd); + dir = igt_debugfs_dir(drm_fd); + igt_assert(igt_sysfs_printf(dir, "i915_gem_drop_caches", + "0x%" PRIx64, val) > 0); + close(dir); } /* -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/915/psr: Set psr.source_ok during atomic_check
On Thu, 2017-12-14 at 17:06 +0200, Ville Syrjälä wrote: > On Tue, Dec 12, 2017 at 04:59:34PM -0800, Dhinakaran Pandiyan wrote: > > Since commit 4d90f2d507ab ("drm/i915: Start tracking PSR state in crtc > > state"), we check whether PSR can be enabled or not in > > psr_compute_config(). Given that the psr.source_ok field is supposed to > > track this check, set the field in psr_compute_config() as well. > > NAK. compute_config() isn't allowed to change global state since the > modeset can still fail later, or this might in fact be a > TEST_ONLY operation. I thought of it, but the only purpose of this flag is in debugfs to indicate PSR requirements were met. It is not checked anywhere in the driver. Setting this flag during commit (in intel_psr_enable) is redundant because psr.enabled, exposed via debugfs, already provides that information. By moving this flag to where PSR conditions are checked, this could give a hint that something went wrong if PSR was not enabled when PSR conditions were met. Basically, I don't see any use for this flag the way it is set now. The other idea I was considering is killing this flag and exposing a no_fbc_reason type string. > > > > > Now tests can distinguish between PSR not enabled due to unmet mode > > requirements and something going wrong during commit. > > > > Cc: Rodrigo Vivi > > Cc: Ville Syrjälä > > Signed-off-by: Dhinakaran Pandiyan > > --- > > drivers/gpu/drm/i915/intel_psr.c | 10 +- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_psr.c > > b/drivers/gpu/drm/i915/intel_psr.c > > index a1ad85fa5c1a..b59a956047ff 100644 > > --- a/drivers/gpu/drm/i915/intel_psr.c > > +++ b/drivers/gpu/drm/i915/intel_psr.c > > @@ -358,6 +358,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp, > > &crtc_state->base.adjusted_mode; > > int psr_setup_time; > > > > + dev_priv->psr.source_ok = false; > > + > > if (!HAS_PSR(dev_priv)) > > return; > > > > @@ -420,7 +422,7 @@ void intel_psr_compute_config(struct intel_dp *intel_dp, > > * caps during eDP detection. > > */ > > if (!dev_priv->psr.psr2_support) { > > - crtc_state->has_psr = true; > > + dev_priv->psr.source_ok = (crtc_state->has_psr = true); > > return; > > } > > > > @@ -440,7 +442,7 @@ void intel_psr_compute_config(struct intel_dp *intel_dp, > > return; > > } > > > > - crtc_state->has_psr = true; > > + dev_priv->psr.source_ok = (crtc_state->has_psr = true); > > crtc_state->has_psr2 = true; > > } > > > > @@ -522,8 +524,6 @@ void intel_psr_enable(struct intel_dp *intel_dp, > > } > > > > dev_priv->psr.psr2_support = crtc_state->has_psr2; > > - dev_priv->psr.source_ok = true; > > - > > dev_priv->psr.busy_frontbuffer_bits = 0; > > > > dev_priv->psr.setup_vsc(intel_dp, crtc_state); > > @@ -657,7 +657,7 @@ void intel_psr_disable(struct intel_dp *intel_dp, > > /* Disable PSR on Sink */ > > drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, 0); > > > > - dev_priv->psr.enabled = NULL; > > + dev_priv->psr.source_ok = (dev_priv->psr.enabled = NULL); > > mutex_unlock(&dev_priv->psr.lock); > > > > cancel_delayed_work_sync(&dev_priv->psr.work); > > -- > > 2.11.0 > ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PULL] drm-misc-fixes
On Thu, Dec 14, 2017 at 6:50 AM, Daniel Vetter wrote: > > Imo that's enough that I figured better not delay until Dave is back. > Linus, can you pls apply? Pulled. Linus ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PULL] drm-intel-fixes
Hi Dave, I'm back, resuming with fixes for v4.15. BR, Jani. The following changes since commit 50c4c4e268a2d7a3e58ebb698ac74da0de40ae36: Linux 4.15-rc3 (2017-12-10 17:56:26 -0800) are available in the git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-fixes-2017-12-14 for you to fetch changes up to 2cf654db8d7eafb973d28eb3cddf043d353e1345: drm/i915/fence: Use rcu to defer freeing of irq_work (2017-12-14 10:58:59 +0200) drm/i915 fixes for v4.15-rc4 Chris Wilson (4): drm/i915: Flush pending GTT writes before unbinding drm/i915: Drop fb reference on load_detect_pipe failure path drm/i915: Stop listening to request resubmission from the signaler kthread drm/i915/fence: Use rcu to defer freeing of irq_work drivers/gpu/drm/i915/i915_gem.c | 9 + drivers/gpu/drm/i915/i915_sw_fence.c | 3 ++- drivers/gpu/drm/i915/intel_breadcrumbs.c | 22 +++--- drivers/gpu/drm/i915/intel_display.c | 3 +-- 4 files changed, 15 insertions(+), 22 deletions(-) -- Jani Nikula, Intel Open Source Technology Center ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PULL] more gvt-next for 4.16
Hi Zhenyu, Applied to dinq. Thanks for sending this sooner. So, regarding your question about vacations on previous email, I will be out only coupe days... probably 26 and 27. My next proper vacation is only in May. Thanks, Rodrigo. On Thu, Dec 14, 2017 at 03:34:34AM +, Zhenyu Wang wrote: > > Hi, > > Please pull more gvt-next updates for 4.16. Mostly on code and > regression fixes for last two gvt-next pulls and more refinement. > Details below. > > thanks > -- > The following changes since commit 1603660b3342269c95fcafee1945790342a8c28e: > > drm/i915/gvt: set max priority for gvt context (2017-12-04 11:24:35 +0800) > > are available in the Git repository at: > > https://github.com/intel/gvt-linux.git tags/gvt-next-2017-12-14 > > for you to fetch changes up to 461bd6227ede277138bf33c2156b6ebd1fba04c2: > > drm/i915/gvt/fb_decoder: Fix out-of-bounds read (2017-12-11 17:18:39 +0800) > > > gvt-next-2017-12-14: > > - fixes for two coverity scan errors (Colin) > - mmio switch code refine (Changbin) > - more virtual display dmabuf fixes (Tina/Gustavo) > - misc cleanups (Pei) > > > Changbin Du (4): > drm/i915/gvt: Refine the ring mmio list definition > drm/i915/gvt: Select appropriate mmio list at initialization time > drm/i915/gvt: Remove MMIO barrier in MMIO switch > drm/i915/gvt: Rename file render.{c, h} to mmio_context.{c, h} > > Colin Ian King (2): > drm/i915/gvt: Add missing breaks in switch statement > drm/i915/gvt: fix off-by-one comparison of ring_id > > Gustavo A. R. Silva (1): > drm/i915/gvt/fb_decoder: Fix out-of-bounds read > > Pei Zhang (2): > drm/i915/gvt/kvmgt: fill info for ROM/VGA region > drm/i915/gvt: refine function emulate_mmio_read/write > > Tina Zhang (1): > drm/i915/gvt: Refine dmabuf_obj cleanup process > > drivers/gpu/drm/i915/gvt/Makefile | 2 +- > drivers/gpu/drm/i915/gvt/dmabuf.c | 15 +- > drivers/gpu/drm/i915/gvt/fb_decoder.c | 6 + > drivers/gpu/drm/i915/gvt/gvt.c | 2 + > drivers/gpu/drm/i915/gvt/gvt.h | 4 +- > drivers/gpu/drm/i915/gvt/handlers.c| 6 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 6 +- > drivers/gpu/drm/i915/gvt/mmio.c| 36 ++- > .../gpu/drm/i915/gvt/{render.c => mmio_context.c} | 262 > ++--- > .../gpu/drm/i915/gvt/{render.h => mmio_context.h} | 9 + > 10 files changed, 181 insertions(+), 167 deletions(-) > rename drivers/gpu/drm/i915/gvt/{render.c => mmio_context.c} (53%) > rename drivers/gpu/drm/i915/gvt/{render.h => mmio_context.h} (91%) > > -- > Open Source Technology Center, Intel ltd. > > $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827 > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: properly init lockdep class (rev2)
On Thu, 2017-12-14 at 16:37 +, Patchwork wrote: > == Series Details == > > Series: drm/i915: properly init lockdep class (rev2) > URL : https://patchwork.freedesktop.org/series/34693/ > State : success Passed the CI and merged, thanks for the patch! Regards, Joonas > > == Summary == > > Test gem_eio: > Subgroup suspend: > fail -> PASS (shard-hsw) fdo#103990 > Test gem_softpin: > Subgroup noreloc-s3: > incomplete -> PASS (shard-hsw) fdo#103540 > Test kms_cursor_crc: > Subgroup cursor-128x128-suspend: > skip -> PASS (shard-snb) fdo#103375 +1 > Test perf: > Subgroup polling: > fail -> PASS (shard-hsw) fdo#102252 > Test gem_tiled_swapping: > Subgroup non-threaded: > dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 > Test kms_flip: > Subgroup modeset-vs-vblank-race: > fail -> PASS (shard-hsw) fdo#103060 > > fdo#103990 https://bugs.freedesktop.org/show_bug.cgi?id=103990 > fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540 > fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 > fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 > fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 > fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060 > > shard-hswtotal:2712 pass:1536 dwarn:1 dfail:0 fail:10 skip:1165 > time:9359s > shard-snbtotal:2712 pass:1309 dwarn:1 dfail:0 fail:11 skip:1391 > time:8017s > Blacklisted hosts: > shard-apltotal:2712 pass:1683 dwarn:1 dfail:0 fail:27 skip:1001 > time:13864s > > == Logs == > > For more details see: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7496/shards.html > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Joonas Lahtinen Open Source Technology Center Intel Corporation ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for test/kms_sysfs_edid_timing : Increase THRESHOLD_PER_CONNECTOR and THRESHOLD_TOTAL
== Series Details == Series: test/kms_sysfs_edid_timing : Increase THRESHOLD_PER_CONNECTOR and THRESHOLD_TOTAL URL : https://patchwork.freedesktop.org/series/35365/ State : failure == Summary == Test drv_suspend: Subgroup fence-restore-tiled2untiled-hibernate: skip -> FAIL (shard-hsw) fdo#103375 Test kms_cursor_crc: Subgroup cursor-256x256-offscreen: pass -> SKIP (shard-hsw) Test kms_flip: Subgroup wf_vblank-vs-dpms: pass -> SKIP (shard-hsw) fdo#102614 Subgroup modeset-vs-vblank-race: fail -> PASS (shard-hsw) fdo#103060 Test kms_frontbuffer_tracking: Subgroup fbc-1p-offscren-pri-shrfb-draw-render: pass -> FAIL (shard-snb) fdo#101623 +1 Test kms_plane: Subgroup plane-panning-bottom-right-suspend-pipe-b-planes: pass -> SKIP (shard-snb) Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 Test perf_pmu: Subgroup semaphore-wait-bcs0: skip -> INCOMPLETE (shard-hsw) fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614 fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060 fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 shard-hswtotal:2644 pass:1502 dwarn:1 dfail:0 fail:9 skip:1131 time:9171s shard-snbtotal:2712 pass:1306 dwarn:1 dfail:0 fail:13 skip:1392 time:8004s Blacklisted hosts: shard-apltotal:2712 pass:1684 dwarn:1 dfail:0 fail:26 skip:1001 time:13788s shard-kbltotal:2635 pass:1746 dwarn:1 dfail:0 fail:31 skip:855 time:10583s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_670/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PULL] drm-misc-next
Hi Dave, More of the same. A lot of improvements from Noralf on this one. Nothing really big here. Regards, Gustavo drm-misc-next-2017-12-14: drm-misc-next for 4.16: Cross-subsystem Changes: - Documentation for amlogic dt dt-bindings Core Changes: - Update edid-derived drm_display_info fields at edid property set Driver Changes: - A bunch of clean up from Noralf, including the last patches to reduce fbdev emulation footprint. The following changes since commit bc29489f712079378081e43d5b1b7470ed70184d: drm/sun4i: Fix uninitialized variables in vi layer (2017-12-07 09:51:41 +0100) are available in the git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-2017-12-14 for you to fetch changes up to ca40cfc85e548424e39dc3aebe61873535ddf7b6: drm/atomic-helper: Make zpos property kerneldoc less misleading (2017-12-14 14:20:35 +0100) drm-misc-next for 4.16: Cross-subsystem Changes: - Documentation for amlogic dt dt-bindings Core Changes: - Update edid-derived drm_display_info fields at edid property set Driver Changes: - A bunch of clean up from Noralf, including the last patches to reduce fbdev emulation footprint. Daniel Vetter (1): drm: More debug info for fb leaks in mode_config_cleanup Jani Nikula (1): MAINTAINERS: Remove Jani as drm-misc co-maintainer Keith Packard (1): drm: Update edid-derived drm_display_info fields at edid property set [v2] Neil Armstrong (4): dt-bindings: display: amlogic, meson-vpu: Add optional power domain property dt-bindings: display: amlogic, meson-dw-hdmi: Add optional HDMI 5V regulator drm/meson: dw_hdmi: Add support for an optional external 5V regulator drm/meson: Add missing VPU init Noralf Trønnes (22): drm/armada: Use drm_fb_helper_lastclose() and _poll_changed() drm/exynos: Use drm_fb_helper_lastclose() and _poll_changed() drm/gma500: Use drm_fb_helper_lastclose() and _poll_changed() drm/msm: Use drm_fb_helper_lastclose() and _poll_changed() drm/nouveau: Use drm_fb_helper_output_poll_changed() drm/omap: Use drm_fb_helper_lastclose() and _poll_changed() drm/rockchip: Use drm_fb_helper_lastclose() and _poll_changed() drm/tegra: Use drm_fb_helper_lastclose() and _poll_changed() drm/gem-fb-helper: drm_gem_fbdev_fb_create() make funcs optional drm/cma-helper: Add drm_fb_cma_fbdev_init/fini() drm/atmel-hlcdc: Use drm_fb_cma_fbdev_init/fini() drm/imx: Use drm_fb_cma_fbdev_init/fini() drm/pl111: Use drm_fb_cma_fbdev_init/fini() drm/sti: Use drm_fb_cma_fbdev_init/fini() drm/stm: Use drm_fb_cma_fbdev_init/fini() drm/sun4i: Use drm_fb_cma_fbdev_init/fini() drm/tilcdc: Use drm_fb_cma_fbdev_init/fini() drm/tve200: Use drm_fb_cma_fbdev_init/fini() drm/vc4: Use drm_fb_cma_fbdev_init/fini() drm/zte: Use drm_fb_cma_fbdev_init/fini() drm/arm/mali: Use drm_fb_cma_fbdev_init/fini() drm/tinydrm: Use drm_fb_cma_fbdev_init_with_funcs/fini() Thierry Reding (1): drm/atomic-helper: Make zpos property kerneldoc less misleading .../bindings/display/amlogic,meson-dw-hdmi.txt | 4 + .../bindings/display/amlogic,meson-vpu.txt | 4 + Documentation/gpu/todo.rst | 5 - MAINTAINERS| 1 - drivers/gpu/drm/arm/malidp_drv.c | 39 ++- drivers/gpu/drm/arm/malidp_drv.h | 1 - drivers/gpu/drm/armada/armada_drm.h| 1 - drivers/gpu/drm/armada/armada_drv.c| 8 +- drivers/gpu/drm/armada/armada_fb.c | 11 +- drivers/gpu/drm/armada/armada_fbdev.c | 8 -- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 26 + drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 2 +- drivers/gpu/drm/drm_blend.c| 8 +- drivers/gpu/drm/drm_connector.c| 13 +++ drivers/gpu/drm/drm_edid.c | 53 ++--- drivers/gpu/drm/drm_fb_cma_helper.c| 119 - drivers/gpu/drm/drm_gem_framebuffer_helper.c | 6 +- drivers/gpu/drm/drm_mode_config.c | 3 + drivers/gpu/drm/exynos/exynos_drm_drv.c| 8 +- drivers/gpu/drm/exynos/exynos_drm_fb.c | 2 +- drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 18 drivers/gpu/drm/exynos/exynos_drm_fbdev.h | 2 - drivers/gpu/drm/gma500/framebuffer.c | 9 +- drivers/gpu/drm/gma500/psb_drv.c | 15 +-- drivers/gpu/drm/imx/imx-drm-core.c | 33 ++ drivers/gpu/drm/imx/imx-drm.h | 1 - drivers/gpu/drm/meson/meson_drv.c | 9 ++ drivers/gpu/drm/meson/meson_dw_hdmi.c |
Re: [Intel-gfx] [PATCH i-g-t 4/6] i-g-t kms_plane_scaling: test scaling with tiling rotation and pixel formats
> -Original Message- > From: Daniel Vetter [mailto:daniel.vet...@ffwll.ch] On Behalf Of Daniel > Vetter > Sent: Thursday, December 14, 2017 4:25 PM > To: Srinivas, Vidya > Cc: intel-gfx@lists.freedesktop.org; Vetter, Daniel > Subject: Re: [Intel-gfx] [PATCH i-g-t 4/6] i-g-t kms_plane_scaling: test > scaling with tiling rotation and pixel formats > > Just a quick comment at the bottom. > > On Wed, Dec 13, 2017 at 03:20:50PM +0530, Vidya Srinivas wrote: > > @@ -312,23 +480,40 @@ static void test_plane_scaling(data_t *d, enum > pipe pipe) > > igt_require_f(valid_tests, "no valid crtc/connector combinations > > found\n"); } > > > > -igt_simple_main > > +igt_main > > { > > data_t data = {}; > > enum pipe pipe; > > > > igt_skip_on_simulation(); > > > > - > > - data.drm_fd = drm_open_driver(DRIVER_INTEL); > > - igt_require_pipe_crc(data.drm_fd); > > - igt_display_init(&data.display, data.drm_fd); > > - data.devid = intel_get_drm_devid(data.drm_fd); > > + igt_fixture { > > + data.drm_fd = drm_open_driver(DRIVER_INTEL); > > + kmstest_set_vt_graphics_mode(); > > + igt_require_pipe_crc(data.drm_fd); > > + igt_display_init(&data.display, data.drm_fd); > > + data.devid = intel_get_drm_devid(data.drm_fd); > > + igt_require_gem(data.drm_fd); > > + } > > > > data.num_scalers = intel_gen(data.devid) >= 9 ? 2 : 0; > > Hm, would be nice if we could get rid of this hard-coded platform > knowledge and autodiscover. But atm the kernel doesn't expose a > "can_scale" property unfortunately. Maybe add a FIXME comment? > > Real reason I'm commenting here: You probably need to put this into the > igt_fixture too, since otherwise you're test won't run correctly when just > enumerating tests. > > > > > - for_each_pipe_static(pipe) > > - test_plane_scaling(&data, pipe); > > + for_each_pipe_static(pipe) { > > + > > + igt_subtest_f("scaler_basic_test") { > > + test_plane_scaling(&data, pipe); > > + } > > + > > + igt_subtest_f("scaler_with_pixel_format") { > > + test_scaler_with_pixel_format(&data, pipe); > > + } > > > > - igt_display_fini(&data.display); > > + igt_subtest_f("scaler_with_rotation") { > > + test_scaler_with_rotation(&data, pipe); > > + } > > + > > + igt_fixture { > > + igt_display_fini(&data.display); > > + } > > + } > > Just a quick drive-by: You probably want to convert to subtest-based testing > as the very first patch (without any functional tests). In your current series > you add more subtests while still using igt_simple_main, which will blow > up. > > The goal of a split up patch series isn't just to make review easier, but also > testing: Every single step in your series is supposed to be a fully functional > codebase. When you're not much experienced with building up such a patch > series, it's good practice to double-check that before sending. I tend to use > git rebase -x $test-script to automate that if possible. That way you can > make sure that every single step in your patch series builds (cleanly!) and > results in a working testcases (which should only change results if your patch > aims to do that, not as some side-effect). Thank you. Sorry if there is any mistake here. But when we have added subtests we have changed it to igt_main and not simple. Before that we have not added subtests. We followed whatever you suggested - as in, first patch would correct just whatever is Not working as of now. Then in the later tests we added new subtests with enhancements. We ran all the tests once (I am sorry, Not the way you mentioned) fully and it ran on our APL board. Regards Vidya > > Cheers, Daniel > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: properly init lockdep class (rev2)
== Series Details == Series: drm/i915: properly init lockdep class (rev2) URL : https://patchwork.freedesktop.org/series/34693/ State : success == Summary == Test gem_eio: Subgroup suspend: fail -> PASS (shard-hsw) fdo#103990 Test gem_softpin: Subgroup noreloc-s3: incomplete -> PASS (shard-hsw) fdo#103540 Test kms_cursor_crc: Subgroup cursor-128x128-suspend: skip -> PASS (shard-snb) fdo#103375 +1 Test perf: Subgroup polling: fail -> PASS (shard-hsw) fdo#102252 Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 Test kms_flip: Subgroup modeset-vs-vblank-race: fail -> PASS (shard-hsw) fdo#103060 fdo#103990 https://bugs.freedesktop.org/show_bug.cgi?id=103990 fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060 shard-hswtotal:2712 pass:1536 dwarn:1 dfail:0 fail:10 skip:1165 time:9359s shard-snbtotal:2712 pass:1309 dwarn:1 dfail:0 fail:11 skip:1391 time:8017s Blacklisted hosts: shard-apltotal:2712 pass:1683 dwarn:1 dfail:0 fail:27 skip:1001 time:13864s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7496/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for test/kms_sysfs_edid_timing : Increase THRESHOLD_PER_CONNECTOR and THRESHOLD_TOTAL
== Series Details == Series: test/kms_sysfs_edid_timing : Increase THRESHOLD_PER_CONNECTOR and THRESHOLD_TOTAL URL : https://patchwork.freedesktop.org/series/35365/ State : success == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3518 b00330d88cf3 drm-tip: 2017y-12m-14d-14h-56m-59s UTC integration manifest No testlist changes. Test debugfs_test: Subgroup read_all_entries: incomplete -> PASS (fi-snb-2520m) fdo#103713 +1 Test gem_sync: Subgroup basic-all: fail -> DMESG-FAIL (fi-blb-e6850) fdo#104259 Test kms_chamelium: Subgroup dp-crc-fast: pass -> DMESG-FAIL (fi-kbl-7500u) fdo#103841 Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-c: dmesg-warn -> PASS (fi-kbl-r) fdo#104172 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#104259 https://bugs.freedesktop.org/show_bug.cgi?id=104259 fdo#103841 https://bugs.freedesktop.org/show_bug.cgi?id=103841 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:439s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:445s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:395s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:517s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:280s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:500s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:501s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:483s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:473s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:267s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:533s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:409s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:416s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:390s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:484s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:427s fi-kbl-7500u total:288 pass:262 dwarn:1 dfail:1 fail:0 skip:24 time:488s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:528s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:464s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:522s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:596s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:447s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:534s fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:561s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:493s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:451s fi-snb-2520m total:245 pass:211 dwarn:0 dfail:0 fail:0 skip:33 fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:416s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:597s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:619s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_670/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t] test/kms_sysfs_edid_timing : Increase THRESHOLD_PER_CONNECTOR and THRESHOLD_TOTAL
The discussion on how to fix the issues has been stagnant for a long time, see the Bugzilla below and: https://patchwork.freedesktop.org/patch/170429/ After only changing display cable the result of my machine went from always failing to hit a WARN. This is also illustrated on CI-shards, where the shard-apl flip-flop between pass and WARN and the shard-kbl always fail. This made me realize that the THRESHOLD_PER_CONNECTOR also needed to be updated, while previous discussion only touched the THRESHOLD_TOTAL. As discussed in provided links the motivation for this test is to discover big anomalies in edid timings, but with the current tight thresholds we are hitting the issues too often. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100047 Signed-off-by: Marta Lofstedt --- tests/kms_sysfs_edid_timing.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c index 12013881..7dbd3fe6 100644 --- a/tests/kms_sysfs_edid_timing.c +++ b/tests/kms_sysfs_edid_timing.c @@ -26,8 +26,8 @@ #include #include -#define THRESHOLD_PER_CONNECTOR10 -#define THRESHOLD_TOTAL50 +#define THRESHOLD_PER_CONNECTOR15 +#define THRESHOLD_TOTAL95 #define CHECK_TIMES15 IGT_TEST_DESCRIPTION("This check the time we take to read the content of all " -- 2.11.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: properly init lockdep class (rev2)
== Series Details == Series: drm/i915: properly init lockdep class (rev2) URL : https://patchwork.freedesktop.org/series/34693/ State : success == Summary == Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 Test kms_cursor_crc: Subgroup cursor-128x128-suspend: pass -> SKIP (shard-hsw) fdo#103375 Subgroup cursor-64x64-suspend: incomplete -> PASS (shard-hsw) fdo#103540 Test kms_setmode: Subgroup basic: fail -> PASS (shard-hsw) fdo#99912 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 shard-hswtotal:2712 pass:1536 dwarn:1 dfail:0 fail:10 skip:1165 time:9415s shard-snbtotal:2712 pass:1309 dwarn:1 dfail:0 fail:11 skip:1391 time:8031s Blacklisted hosts: shard-apltotal:2712 pass:1683 dwarn:1 dfail:0 fail:27 skip:1001 time:13819s shard-kbltotal:2712 pass:1799 dwarn:1 dfail:0 fail:30 skip:882 time:11050s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7495/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/915/psr: Set psr.source_ok during atomic_check
On Tue, Dec 12, 2017 at 04:59:34PM -0800, Dhinakaran Pandiyan wrote: > Since commit 4d90f2d507ab ("drm/i915: Start tracking PSR state in crtc > state"), we check whether PSR can be enabled or not in > psr_compute_config(). Given that the psr.source_ok field is supposed to > track this check, set the field in psr_compute_config() as well. NAK. compute_config() isn't allowed to change global state since the modeset can still fail later, or this might in fact be a TEST_ONLY operation. > > Now tests can distinguish between PSR not enabled due to unmet mode > requirements and something going wrong during commit. > > Cc: Rodrigo Vivi > Cc: Ville Syrjälä > Signed-off-by: Dhinakaran Pandiyan > --- > drivers/gpu/drm/i915/intel_psr.c | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_psr.c > b/drivers/gpu/drm/i915/intel_psr.c > index a1ad85fa5c1a..b59a956047ff 100644 > --- a/drivers/gpu/drm/i915/intel_psr.c > +++ b/drivers/gpu/drm/i915/intel_psr.c > @@ -358,6 +358,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp, > &crtc_state->base.adjusted_mode; > int psr_setup_time; > > + dev_priv->psr.source_ok = false; > + > if (!HAS_PSR(dev_priv)) > return; > > @@ -420,7 +422,7 @@ void intel_psr_compute_config(struct intel_dp *intel_dp, >* caps during eDP detection. >*/ > if (!dev_priv->psr.psr2_support) { > - crtc_state->has_psr = true; > + dev_priv->psr.source_ok = (crtc_state->has_psr = true); > return; > } > > @@ -440,7 +442,7 @@ void intel_psr_compute_config(struct intel_dp *intel_dp, > return; > } > > - crtc_state->has_psr = true; > + dev_priv->psr.source_ok = (crtc_state->has_psr = true); > crtc_state->has_psr2 = true; > } > > @@ -522,8 +524,6 @@ void intel_psr_enable(struct intel_dp *intel_dp, > } > > dev_priv->psr.psr2_support = crtc_state->has_psr2; > - dev_priv->psr.source_ok = true; > - > dev_priv->psr.busy_frontbuffer_bits = 0; > > dev_priv->psr.setup_vsc(intel_dp, crtc_state); > @@ -657,7 +657,7 @@ void intel_psr_disable(struct intel_dp *intel_dp, > /* Disable PSR on Sink */ > drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, 0); > > - dev_priv->psr.enabled = NULL; > + dev_priv->psr.source_ok = (dev_priv->psr.enabled = NULL); > mutex_unlock(&dev_priv->psr.lock); > > cancel_delayed_work_sync(&dev_priv->psr.work); > -- > 2.11.0 -- Ville Syrjälä Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PULL] drm-misc-fixes
Hi Linus&Dave, drm-misc-fixes-2017-12-14: drm-misc-fixes for 4.15-rc4 2 fixes for new core features, a corner case fix for the connnector_iter fix from last week (that one is cc: stable) and 1 vc4 fix. Imo that's enough that I figured better not delay until Dave is back. Linus, can you pls apply? i915 CI is happy, but then the connector_iter patch from last week blew up on some arm driver on probe-defer, so who knows :-) Cheers, Daniel The following changes since commit 90eeb3aa34831ff3d031589c0c24892eb8a07e51: Merge tag 'drm-misc-fixes-2017-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes (2017-12-08 08:17:53 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-fixes-2017-12-14 for you to fetch changes up to bd36d3bab2e3d08f80766c86487090dbceed4651: drm/drm_lease: Prevent deadlock in case drm_lease_create() fails (2017-12-14 08:25:37 +0100) drm-misc-fixes for 4.15-rc4 Daniel Vetter (1): drm: rework delayed connector cleanup in connector_iter Keith Packard (1): drm: Update edid-derived drm_display_info fields at edid property set [v2] Marius Vlad (1): drm/drm_lease: Prevent deadlock in case drm_lease_create() fails Stefan Schake (1): drm/vc4: Release fence after signalling drivers/gpu/drm/drm_connector.c | 63 - drivers/gpu/drm/drm_crtc_internal.h | 1 + drivers/gpu/drm/drm_edid.c | 52 +- drivers/gpu/drm/drm_lease.c | 4 +-- drivers/gpu/drm/drm_mode_config.c | 5 ++- drivers/gpu/drm/vc4/vc4_gem.c | 4 ++- drivers/gpu/drm/vc4/vc4_irq.c | 1 + include/drm/drm_connector.h | 10 +++--- include/drm/drm_edid.h | 2 ++ include/drm/drm_mode_config.h | 18 ++- 10 files changed, 122 insertions(+), 38 deletions(-) -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Show engine state when hangcheck detects a stall
== Series Details == Series: drm/i915: Show engine state when hangcheck detects a stall URL : https://patchwork.freedesktop.org/series/35354/ State : success == Summary == Test gem_tiled_swapping: Subgroup non-threaded: dmesg-warn -> PASS (shard-hsw) fdo#104218 +1 Test kms_frontbuffer_tracking: Subgroup fbc-1p-offscren-pri-shrfb-draw-blt: pass -> FAIL (shard-snb) fdo#101623 Test kms_cursor_crc: Subgroup cursor-64x64-suspend: incomplete -> PASS (shard-hsw) fdo#103540 Test drv_suspend: Subgroup fence-restore-tiled2untiled-hibernate: fail -> SKIP (shard-hsw) fdo#103375 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 shard-hswtotal:2636 pass:1493 dwarn:1 dfail:0 fail:9 skip:1133 time:9263s shard-snbtotal:2712 pass:1308 dwarn:1 dfail:0 fail:12 skip:1391 time:8042s Blacklisted hosts: shard-apltotal:2712 pass:1679 dwarn:2 dfail:0 fail:29 skip:1001 time:13774s shard-kbltotal:2712 pass:1771 dwarn:3 dfail:0 fail:31 skip:907 time:10558s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7494/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] Non-blocking commits on -ERESTARTSYS
On 2017-12-13 02:24 PM, Leo Li wrote: On 2017-12-13 12:23 PM, Maarten Lankhorst wrote: Op 13-12-17 om 17:19 schreef Leo Li: Hi Daniel, Maarten, Just digging an old thread out of the grave: https://lists.freedesktop.org/archives/dri-devel/2017-August/150495.html It's suppose to fix a memory leak on the drm_commit object during non-blocking commits. Within drm_atomic_helper_setup_commit, a reference to the commit object is obtained by the new_crtc_state. This reference is suppose to be 'put' once flip_done is signaled (via the release_crtc_commit callback), but never happens if .prepare_fb returns -ERESTARTSYS: drm_atomic_helper_commit early returns before the commit_tail work is queued. We're starting to bump into this issue again. Regarding Daniel's suggestion for an IGT test, has there been any work done on it? I'd be interested in taking a look otherwise. As a side note, I can also reproduce this on i915. Thanks, Leo I'm curious, isn't it better to handle this in __drm_atomic_helper_crtc_destroy_state with the attached patch? Good point, it seems sane to me. I gave it a spin and it fixes the issue. I was concerned that it'll contend with the worker thread, possibly freeing the crtc_commit before the flip is done. It seems the atomic_state_get before the work is queued will prevent that. Leo No idea if sane though, but drivers are supposed to clear crtc_state->event on success.. Hi Maarten, If there are no objections, can I submit a patch with your change below? Thanks, Leo diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 593b30d38ce0..e71233b4c651 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -3435,6 +3435,8 @@ EXPORT_SYMBOL(drm_atomic_helper_crtc_duplicate_state); void __drm_atomic_helper_crtc_destroy_state(struct drm_crtc_state *state) { if (state->commit) { + if (state->event) + drm_crtc_commit_put(state->commit); kfree(state->commit->event); state->commit->event = NULL; drm_crtc_commit_put(state->commit); ___ dri-devel mailing list dri-de...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for HAX: fast feedback irq affinity..
== Series Details == Series: HAX: fast feedback irq affinity.. URL : https://patchwork.freedesktop.org/series/35349/ State : failure == Summary == Test gem_tiled_pread_basic: incomplete -> PASS (shard-hsw) fdo#104218 +1 Test kms_cursor_crc: Subgroup cursor-64x64-suspend: incomplete -> PASS (shard-hsw) fdo#103540 +1 Test gem_userptr_blits: Subgroup coherency-unsync: pass -> INCOMPLETE (shard-snb) pass -> INCOMPLETE (shard-hsw) Test kms_busy: Subgroup extended-modeset-hang-newfb-with-reset-render-b: pass -> SKIP (shard-snb) Subgroup extended-modeset-hang-newfb-with-reset-render-a: pass -> SKIP (shard-snb) Test kms_frontbuffer_tracking: Subgroup fbc-rgb101010-draw-render: pass -> SKIP (shard-snb) fdo#103167 Test gem_eio: Subgroup suspend: pass -> INCOMPLETE (shard-hsw) fdo#103990 Test drv_suspend: Subgroup fence-restore-tiled2untiled-hibernate: fail -> SKIP (shard-hsw) fdo#103375 Test kms_plane: Subgroup plane-panning-bottom-right-suspend-pipe-b-planes: pass -> FAIL (shard-hsw) Test gem_exec_await: Subgroup wide-all: pass -> INCOMPLETE (shard-hsw) fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#103540 https://bugs.freedesktop.org/show_bug.cgi?id=103540 fdo#103167 https://bugs.freedesktop.org/show_bug.cgi?id=103167 fdo#103990 https://bugs.freedesktop.org/show_bug.cgi?id=103990 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 shard-hswtotal:2524 pass:1428 dwarn:1 dfail:0 fail:8 skip:1083 time:8371s shard-snbtotal:2685 pass:1293 dwarn:1 dfail:0 fail:11 skip:1379 time:7894s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_669/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: properly init lockdep class (rev2)
== Series Details == Series: drm/i915: properly init lockdep class (rev2) URL : https://patchwork.freedesktop.org/series/34693/ State : success == Summary == Series 34693v2 drm/i915: properly init lockdep class https://patchwork.freedesktop.org/api/1.0/series/34693/revisions/2/mbox/ Test gem_exec_suspend: Subgroup basic-s4-devices: dmesg-warn -> PASS (fi-elk-e7500) fdo#103989 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: pass -> FAIL (fi-gdg-551) fdo#102575 Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-b: pass -> INCOMPLETE (fi-snb-2520m) fdo#103713 Test kms_psr_sink_crc: Subgroup psr_basic: pass -> DMESG-WARN (fi-skl-6700hq) fdo#101144 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:438s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:436s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:0 fail:1 skip:64 time:386s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:503s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:279s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:495s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:497s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:477s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:475s fi-elk-e7500 total:224 pass:164 dwarn:14 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:264s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:524s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:404s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:414s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:393s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:477s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:424s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:475s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:522s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:470s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:534s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:585s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:450s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:536s fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:556s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:485s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:442s fi-snb-2520m total:245 pass:211 dwarn:0 dfail:0 fail:0 skip:33 fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:411s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:598s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:636s 3fae32baa4a02cfed78dc9e1f8da9b6374b24215 drm-tip: 2017y-12m-14d-13h-25m-22s UTC integration manifest dfd682032ecd drm/i915: properly init lockdep class == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7496/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: properly init lockdep class (rev2)
On Thu, 2017-12-14 at 13:29 +, Patchwork wrote: > == Series Details == > > Series: drm/i915: properly init lockdep class (rev2) > URL : https://patchwork.freedesktop.org/series/34693/ > State : failure > > == Summary == > > Series 34693v2 drm/i915: properly init lockdep class > https://patchwork.freedesktop.org/api/1.0/series/34693/revisions/2/mbox/ > > Test debugfs_test: > Subgroup read_all_entries: > dmesg-warn -> PASS (fi-elk-e7500) fdo#103989 +2 > Test gem_mmap_gtt: > Subgroup basic-small-bo-tiledx: > pass -> FAIL (fi-gdg-551) fdo#102575 > Test kms_pipe_crc_basic: > Subgroup read-crc-pipe-c-frame-sequence: > pass -> FAIL (fi-hsw-4770r) This doesn't seem like a related error, I'll queue a rerun for the patch to get it to the full run. Regards, Joonas > > fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 > fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 > > fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 > time:434s > fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 > time:389s > fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 > time:499s > fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 > time:277s > fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 > time:496s > fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 > time:500s > fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 > time:478s > fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 > time:470s > fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 > fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 > time:263s > fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 > time:526s > fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 > time:403s > fi-hsw-4770r total:288 pass:260 dwarn:0 dfail:0 fail:1 skip:27 > time:414s > fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 > time:388s > fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 > time:468s > fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 > time:422s > fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 > time:479s > fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 > time:520s > fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 > time:467s > fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 > time:522s > fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 > time:585s > fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 > time:452s > fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 > time:536s > fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 > time:555s > fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 > time:489s > fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 > time:445s > fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 > time:546s > fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 > time:410s > Blacklisted hosts: > fi-cfl-s2total:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 > time:594s > fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 > time:619s > > 91d06d0bbd1a91f430350dbc24e05c37303b25b9 drm-tip: 2017y-12m-14d-09h-49m-51s > UTC integration manifest > bea6424fd138 drm/i915: properly init lockdep class > > == Logs == > > For more details see: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7495/issues.html > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Joonas Lahtinen Open Source Technology Center Intel Corporation ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: properly init lockdep class (rev2)
== Series Details == Series: drm/i915: properly init lockdep class (rev2) URL : https://patchwork.freedesktop.org/series/34693/ State : failure == Summary == Series 34693v2 drm/i915: properly init lockdep class https://patchwork.freedesktop.org/api/1.0/series/34693/revisions/2/mbox/ Test debugfs_test: Subgroup read_all_entries: dmesg-warn -> PASS (fi-elk-e7500) fdo#103989 +2 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: pass -> FAIL (fi-gdg-551) fdo#102575 Test kms_pipe_crc_basic: Subgroup read-crc-pipe-c-frame-sequence: pass -> FAIL (fi-hsw-4770r) fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:434s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:389s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:499s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:277s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:496s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:500s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:478s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:470s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:263s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:526s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:403s fi-hsw-4770r total:288 pass:260 dwarn:0 dfail:0 fail:1 skip:27 time:414s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:388s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:468s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:422s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:479s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:520s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:467s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:522s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:585s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:452s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:536s fi-skl-6700hqtotal:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:555s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:445s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:546s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:410s Blacklisted hosts: fi-cfl-s2total:288 pass:261 dwarn:1 dfail:0 fail:0 skip:26 time:594s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:619s 91d06d0bbd1a91f430350dbc24e05c37303b25b9 drm-tip: 2017y-12m-14d-09h-49m-51s UTC integration manifest bea6424fd138 drm/i915: properly init lockdep class == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7495/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Show engine state when hangcheck detects a stall
On Thu, 2017-12-14 at 12:26 +, Chris Wilson wrote: > Knowing the state of the engine when hangcheck thinks it is stalling is > useful for both debugging hangcheck itself and the potential cause of an > unwanted stall. > > Signed-off-by: Chris Wilson > Cc: Joonas Lahtinen > Cc: Mika Kuoppala Reviewed-by: Joonas Lahtinen Regards, Joonas -- Joonas Lahtinen Open Source Technology Center Intel Corporation ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [CI] drm/i915: properly init lockdep class
From: Sebastian Andrzej Siewior The code has an ifdef and uses two functions to either init the bare spinlock or init it and set a lock-class. It is possible to do the same thing without an ifdef. With this patch (in debug case) we first use the "default" lock class which is later overwritten to the supplied one. Without lockdep the set name/class function vanishes. Reported-by: kbuild test robot Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Joonas Lahtinen --- drivers/gpu/drm/i915/i915_gem_timeline.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem_timeline.c b/drivers/gpu/drm/i915/i915_gem_timeline.c index c01905d6450c..e9fd87604067 100644 --- a/drivers/gpu/drm/i915/i915_gem_timeline.c +++ b/drivers/gpu/drm/i915/i915_gem_timeline.c @@ -33,11 +33,8 @@ static void __intel_timeline_init(struct intel_timeline *tl, { tl->fence_context = context; tl->common = parent; -#ifdef CONFIG_DEBUG_SPINLOCK - __raw_spin_lock_init(&tl->lock.rlock, lockname, lockclass); -#else spin_lock_init(&tl->lock); -#endif + lockdep_set_class_and_name(&tl->lock, lockclass, lockname); init_request_active(&tl->last_request, NULL); INIT_LIST_HEAD(&tl->requests); i915_syncmap_init(&tl->sync); -- 2.14.3 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Show engine state when hangcheck detects a stall
== Series Details == Series: drm/i915: Show engine state when hangcheck detects a stall URL : https://patchwork.freedesktop.org/series/35354/ State : success == Summary == Series 35354v1 drm/i915: Show engine state when hangcheck detects a stall https://patchwork.freedesktop.org/api/1.0/series/35354/revisions/1/mbox/ Test debugfs_test: Subgroup read_all_entries: dmesg-warn -> DMESG-FAIL (fi-elk-e7500) fdo#103989 +1 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: pass -> FAIL (fi-gdg-551) fdo#102575 Test kms_psr_sink_crc: Subgroup psr_basic: dmesg-warn -> PASS (fi-skl-6700hq) fdo#101144 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:436s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:392s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:507s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:281s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:498s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:504s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:482s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:474s fi-elk-e7500 total:224 pass:163 dwarn:14 dfail:1 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:266s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:537s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:406s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:413s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:390s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:474s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:436s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:484s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:519s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:470s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:526s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:595s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:467s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:544s fi-skl-6700hqtotal:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:555s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:493s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:443s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:553s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:412s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:591s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:625s 91d06d0bbd1a91f430350dbc24e05c37303b25b9 drm-tip: 2017y-12m-14d-09h-49m-51s UTC integration manifest a10bab2ae23e drm/i915: Show engine state when hangcheck detects a stall == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7494/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt v2] igt/tools_test: Check the tools exist before executing
On 12/14/2017 01:24 PM, Chris Wilson wrote: Quoting Petri Latvala (2017-12-14 11:20:18) On Thu, Dec 14, 2017 at 11:14:35AM +, Chris Wilson wrote: Why the chdir? For me, I was trying to standardise the test, since "../tools" bakes in so many assumptions that simply aren't true when one invokes $path/tools_test. Back to the igt_data_dir() request. Aye, the assumption is bad and should get changed to support both run methods (within build dir, with installed). Currently it works by carefully setting up the CI deployment so paths match. =( CI runs tests with IGT installed (make install). The test's directory is $libexecdir/intel-gpu-tools/, ../tools is $libexecdir/tools and that doesn't exist. So where was it expecting to find the tools? CI deploys the tools next to piglit. $cwd is piglit's directory when running through piglit, tools are deployed to $piglit/../tools. How about if (access("../tools/", F_OK)) { chdir(); } Should be fine that way. Add a TODO comment somewhere about finding the directory for real. -- Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Show engine state when hangcheck detects a stall
Knowing the state of the engine when hangcheck thinks it is stalling is useful for both debugging hangcheck itself and the potential cause of an unwanted stall. Signed-off-by: Chris Wilson Cc: Joonas Lahtinen Cc: Mika Kuoppala --- drivers/gpu/drm/i915/intel_hangcheck.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_hangcheck.c b/drivers/gpu/drm/i915/intel_hangcheck.c index 95bbb5a79c4f..0acd9dd3ed5c 100644 --- a/drivers/gpu/drm/i915/intel_hangcheck.c +++ b/drivers/gpu/drm/i915/intel_hangcheck.c @@ -349,13 +349,18 @@ static void hangcheck_accumulate_sample(struct intel_engine_cs *engine, case ENGINE_ACTIVE_HEAD: case ENGINE_ACTIVE_SUBUNITS: - /* Seqno stuck with still active engine gets leeway, + /* +* Seqno stuck with still active engine gets leeway, * in hopes that it is just a long shader. */ timeout = I915_SEQNO_DEAD_TIMEOUT; break; case ENGINE_DEAD: + if (drm_debug & DRM_UT_DRIVER) { + struct drm_printer p = drm_debug_printer("hangcheck"); + intel_engine_dump(engine, &p, "%s", engine->name); + } break; default: -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for HAX: fast feedback irq affinity..
== Series Details == Series: HAX: fast feedback irq affinity.. URL : https://patchwork.freedesktop.org/series/35349/ State : success == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3516 91d06d0bbd1a drm-tip: 2017y-12m-14d-09h-49m-51s UTC integration manifest Testlist changes: +igt@pm_rpm@irq-affinity Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: pass -> FAIL (fi-gdg-551) fdo#102575 Test kms_busy: Subgroup basic-flip-a: pass -> DMESG-WARN (fi-elk-e7500) fdo#103989 Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-b: pass -> INCOMPLETE (fi-snb-2520m) fdo#103713 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fi-bdw-5557u total:290 pass:269 dwarn:0 dfail:0 fail:0 skip:21 time:439s fi-blb-e6850 total:290 pass:223 dwarn:1 dfail:1 fail:0 skip:65 time:394s fi-bsw-n3050 total:290 pass:243 dwarn:0 dfail:0 fail:0 skip:47 time:511s fi-bwr-2160 total:290 pass:184 dwarn:0 dfail:0 fail:0 skip:106 time:281s fi-bxt-dsi total:290 pass:260 dwarn:0 dfail:0 fail:0 skip:30 time:487s fi-bxt-j4205 total:290 pass:261 dwarn:0 dfail:0 fail:0 skip:29 time:506s fi-byt-j1900 total:290 pass:255 dwarn:0 dfail:0 fail:0 skip:35 time:488s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:290 pass:179 dwarn:1 dfail:0 fail:1 skip:109 time:268s fi-glk-1 total:290 pass:262 dwarn:0 dfail:0 fail:0 skip:28 time:538s fi-hsw-4770 total:290 pass:263 dwarn:0 dfail:0 fail:0 skip:27 time:408s fi-hsw-4770r total:290 pass:263 dwarn:0 dfail:0 fail:0 skip:27 time:416s fi-ilk-650 total:290 pass:229 dwarn:0 dfail:0 fail:0 skip:61 time:391s fi-ivb-3520m total:290 pass:260 dwarn:0 dfail:0 fail:0 skip:30 time:482s fi-ivb-3770 total:290 pass:256 dwarn:0 dfail:0 fail:0 skip:34 time:431s fi-kbl-7500u total:290 pass:265 dwarn:1 dfail:0 fail:0 skip:24 time:483s fi-kbl-7560u total:290 pass:270 dwarn:1 dfail:0 fail:0 skip:19 time:533s fi-kbl-7567u total:290 pass:270 dwarn:0 dfail:0 fail:0 skip:20 time:470s fi-kbl-r total:290 pass:262 dwarn:1 dfail:0 fail:0 skip:27 time:536s fi-skl-6260u total:290 pass:270 dwarn:0 dfail:0 fail:0 skip:20 time:449s fi-skl-6600u total:290 pass:262 dwarn:1 dfail:0 fail:0 skip:27 time:541s fi-skl-6700hqtotal:290 pass:263 dwarn:1 dfail:0 fail:0 skip:26 time:566s fi-skl-6770hqtotal:290 pass:270 dwarn:0 dfail:0 fail:0 skip:20 time:493s fi-skl-gvtdvmtotal:290 pass:266 dwarn:0 dfail:0 fail:0 skip:24 time:449s fi-snb-2520m total:245 pass:211 dwarn:0 dfail:0 fail:0 skip:33 fi-snb-2600 total:290 pass:249 dwarn:0 dfail:0 fail:0 skip:41 time:417s Blacklisted hosts: fi-cfl-s2total:290 pass:264 dwarn:0 dfail:0 fail:0 skip:26 time:606s fi-cnl-y total:290 pass:264 dwarn:0 dfail:0 fail:0 skip:26 time:640s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_669/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: warning for igt/tools_test: Check the tools exist before executing (rev3)
== Series Details == Series: igt/tools_test: Check the tools exist before executing (rev3) URL : https://patchwork.freedesktop.org/series/35237/ State : warning == Summary == IGT patchset tested on top of latest successful build 103af7286e2d1014e3d7126691fe046ab2c9f73e lib: Ask the kernel to quiesce the GPU with latest DRM-Tip kernel build CI_DRM_3516 91d06d0bbd1a drm-tip: 2017y-12m-14d-09h-49m-51s UTC integration manifest No testlist changes. Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: pass -> FAIL (fi-gdg-551) fdo#102575 Test kms_busy: Subgroup basic-flip-a: pass -> DMESG-WARN (fi-elk-e7500) fdo#103989 Test kms_psr_sink_crc: Subgroup psr_basic: dmesg-warn -> PASS (fi-skl-6700hq) fdo#101144 Test drv_module_reload: Subgroup basic-reload-inject: pass -> DMESG-WARN (fi-bsw-n3050) fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#101144 https://bugs.freedesktop.org/show_bug.cgi?id=101144 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:435s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:1 fail:0 skip:64 time:394s fi-bsw-n3050 total:288 pass:241 dwarn:1 dfail:0 fail:0 skip:46 time:508s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:279s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:501s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:499s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:484s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:477s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:266s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:531s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:416s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:413s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:390s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:468s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:426s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:482s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:523s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:468s fi-kbl-r total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:523s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:593s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:440s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:538s fi-skl-6700hqtotal:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:560s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:450s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:558s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:419s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:597s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:619s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_668/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t] HAX: fast feedback irq affinity..
--- tests/intel-ci/fast-feedback.testlist | 2 ++ tests/pm_rpm.c| 62 +++ 2 files changed, 64 insertions(+) diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist index f71a16bcd191..e9322249dd73 100644 --- a/tests/intel-ci/fast-feedback.testlist +++ b/tests/intel-ci/fast-feedback.testlist @@ -293,3 +293,5 @@ igt@drv_module_reload@basic-reload igt@drv_module_reload@basic-no-display igt@drv_module_reload@basic-reload-inject igt@gvt_basic@invalid-placeholder-test +igt@pm_rpm@irq-affinity +igt@kms_vblank@crtc-id diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c index fb26e384e236..943476dce3ef 100644 --- a/tests/pm_rpm.c +++ b/tests/pm_rpm.c @@ -1860,6 +1860,65 @@ static int opt_handler(int opt, int opt_index, void *data) return 0; } +static void irq_affinity_subtest(void) +{ + int fd, sysfs_fd; + char irq[6], irq_path[40]; + ssize_t ret; + + /* Disable irqbalance, we want to juggle this manually.. */ + system("killall -STOP irqbalance"); + +#define CPU "3" + + fd = open("/sys/devices/system/cpu/cpu" CPU "/online", O_WRONLY); + igt_require(fd >= 0); + igt_assert_eq(write(fd, "1\n", 2), 2); + close(fd); + + /* Read irq number.. */ + sysfs_fd = igt_sysfs_open(drm_fd, NULL); + fd = openat(sysfs_fd, "device/irq", O_RDONLY); + close(sysfs_fd); + ret = read(fd, irq, sizeof(irq)); + igt_assert(ret > 0); + irq[ret - 1] = 0; + close(fd); + + sprintf(irq_path, "/proc/irq/%s/smp_affinity_list", irq); + fd = open(irq_path, O_WRONLY); + igt_assert(fd >= 0); + igt_assert_eq(write(fd, CPU "\n", 2), 2); + close(fd); + + disable_all_screens_and_wait(&ms_data); + + igt_assert(igt_wait(device_in_pci_d3(), 2000, 100)); + + fd = open("/sys/devices/system/cpu/cpu" CPU "/online", O_WRONLY); + igt_assert(fd >= 0); + igt_assert_eq(write(fd, "0\n", 2), 2); + close(fd); + + sprintf(irq_path, "/proc/irq/%s/smp_affinity_list", irq); + fd = open(irq_path, O_WRONLY); + igt_assert(fd >= 0); + igt_assert_eq(write(fd, "0\n", 2), 2); + close(fd); + + igt_debug_wait_for_keypress("asdf"); + + enable_one_screen_and_wait(&ms_data); + + fd = open("/sys/devices/system/cpu/cpu" CPU "/online", O_WRONLY); + igt_assert(fd >= 0); + igt_assert_eq(write(fd, "1\n", 2), 2); + close(fd); + + system("killall -CONT irqbalance"); +} + + int main(int argc, char *argv[]) { const char *help_str = @@ -1989,6 +2048,9 @@ int main(int argc, char *argv[]) igt_subtest("pm-caching") pm_test_caching(); + igt_subtest("irq-affinity") + irq_affinity_subtest(); + igt_fixture teardown_environment(); -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4 3/5] drm/i915/guc: Implement dynamic WOPCM partitioning
On Wed, 2017-12-13 at 14:59 -0800, Yaodong Li wrote: > On 12/13/2017 01:34 PM, Michal Wajdeczko wrote: > > On Wed, 13 Dec 2017 19:19:06 +0100, Yaodong Li > > wrote: > > > > > On 12/13/2017 01:11 AM, Joonas Lahtinen wrote: > > > > On Tue, 2017-12-12 at 14:56 -0800, Jackie Li wrote: > > > > > Hardware may have specific restrictions on GuC WOPCM partition > > > > > size versus HuC firmware size. With static WOPCM partitioning, > > > > > there's no way to adjust the GuC WOPCM partition size based on > > > > > the actual HuC firmware size, so that GuC/HuC loading failure > > > > > would occur even if there was enough WOPCM space for both > > > > > GuC and HuC firmware. > > > > > > > > WOPCM being a shared feature of the hardware, it should not go under > > > > intel_guc_ prefix. > > > > > > > > There should be a clear division of what is specific to GuC feature > > > > only and what is just a feature that happens to be used by GuC (and > > > > equally can be used by HuC too). > > > > > > the intel_guc_wopcm here only refers to the wopcm used by > > > GuC, this structure only defines the GuC related wopcm info. > > > (wopcm partition for GuC). We only need to set these values > > > (defined in this structure) to GuC registers. And this structure > > > should never be touched if GuC was disabled. so it should be > > > a part of GuC. > > > > > > > But note that yours intel_guc_wopcm is just one of many wopcm partitions. > > I think it would be a good idea to create "intel_wopcm.c|h" and keep > > all related code and data there (including verification of early setup > > done by bios, wopcpm reporting, partitioning). > > > > Then we can do rest of the programming right there or just take values > > that > > will be programmed individually by interested components (but former is > > preferred to avoid spreading single feature code over too many places) > > > > The KMD only needs to take care of the setup of the GuC WOPCM partition. > Other > HW WOPCM (e.g HuC) usages are all transparent to kernel driver. Plus, > the GuC WOPM > partitioning is needed only when GuC is enabled and uc firmwares are > loaded correctly. > The only reason for us to have an intel_wopcm is to maintain the overall > WOPCM info > such as WOPCM size and base. However, it's not necessary since we can > reuse existing > driver code to get these info. I'd go with Michal here, the WOPCM is its own entity in existence. Partitioning defintely sounds like it should be intel_wopcm stuff, which may yield intel_wopcm_partition under "guc", so then you are still able to reference "guc->wopcm.base" where it makes sense. And how that partition is programmed to GuC registers for it to be used, is then stuff to go under intel_guc. And then you have another intel_wopcm_partition for "huc". We should avoid incorrect abstractions, just to avoid a few lines of code. That's how the hardware features seem to exist, that's how we should map them in the code. Regards, Joonas -- Joonas Lahtinen Open Source Technology Center Intel Corporation ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH igt v3] igt/tools_test: Check the tools exist before executing
As a simple fail-safe against a bad installation, check the tools exist before testing whether they work. v2: Check intel_l3_parity as well v3: Hunt for tools/ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102935 Signed-off-by: Chris Wilson Reviewed-by: Petri Latvala #v1 Reviewed-by: Joonas Lahtinen #v1 --- tests/tools_test.c | 53 ++--- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/tests/tools_test.c b/tests/tools_test.c index 6aea7a8a4..a0025bedf 100644 --- a/tests/tools_test.c +++ b/tests/tools_test.c @@ -26,6 +26,10 @@ #include #include #include +#include +#include + +#define TOOLS "../tools/" struct line_check { int found; @@ -59,10 +63,24 @@ igt_main { igt_skip_on_simulation(); + igt_fixture { + char path[4096]; + + /* Try to guess where the TOOLS are! */ + if (access(TOOLS, F_OK) && + readlink("/proc/self/exe", path, sizeof(path)) > 0) + chdir(dirname(path)); + + igt_require_f(chdir(TOOLS) == 0, + "Unable to determine the tools directory, expecting them in $cwd/" TOOLS " or $path/" TOOLS "\n"); + } + igt_subtest("sysfs_l3_parity") { int exec_return; struct line_check line; + igt_require(access("intel_l3_parity", X_OK) == 0); + /* Sanity check that l3 parity tool is usable: Enable * row,bank,subbank 0,0,0. * @@ -71,27 +89,28 @@ igt_main * piglit. */ igt_system_cmd(exec_return, - "../tools/intel_l3_parity -r 0 -b 0 " + "./intel_l3_parity -r 0 -b 0 " "-s 0 -e"); assert_cmd_success(exec_return); /* Disable row,bank,subbank 0,0,0. */ - igt_system_cmd(exec_return, "../tools/intel_l3_parity -r 0 -b 0 " + igt_system_cmd(exec_return, + "./intel_l3_parity -r 0 -b 0 " "-s 0 -d"); assert_cmd_success(exec_return); /* Check that disabling was successful */ - igt_system_cmd(exec_return, "../tools/intel_l3_parity -l"); + igt_system_cmd(exec_return, + "./intel_l3_parity -l"); assert_cmd_success(exec_return); line.substr = "Row 0, Bank 0, Subbank 0 is disabled"; line.found = 0; - igt_log_buffer_inspect(check_cmd_output, - &line); + igt_log_buffer_inspect(check_cmd_output, &line); igt_assert_eq(line.found, 1); /* Re-enable row,bank,subbank 0,0,0 */ igt_system_cmd(exec_return, - "../tools/intel_l3_parity -r 0 -b 0 " + "./intel_l3_parity -r 0 -b 0 " "-s 0 -e"); assert_cmd_success(exec_return); @@ -102,7 +121,8 @@ igt_main * The previously printed line is already in the log * buffer so we check for count 1. */ - igt_system_cmd(exec_return, "../tools/intel_l3_parity -l"); + igt_system_cmd(exec_return, + "./intel_l3_parity -l"); assert_cmd_success(exec_return); line.substr = "Row 0, Bank 0, Subbank 0 is disabled"; line.found = 0; @@ -112,17 +132,12 @@ igt_main } igt_subtest("tools_test") { - char *cmd; - - igt_assert(asprintf(&cmd, - "../tools/intel_reg read 0x4030") - != -1); - igt_assert(igt_system_quiet(cmd) == IGT_EXIT_SUCCESS); - free(cmd); - - igt_assert(asprintf(&cmd, "../tools/intel_reg dump") - != -1); - igt_assert(igt_system_quiet(cmd) == IGT_EXIT_SUCCESS); - free(cmd); + igt_require(access("intel_reg", X_OK) == 0); + + igt_assert_eq(igt_system_quiet("./intel_reg read 0x4030"), + IGT_EXIT_SUCCESS); + + igt_assert_eq(igt_system_quiet("./intel_reg dump"), + IGT_EXIT_SUCCESS); } } -- 2.15.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt v2] igt/tools_test: Check the tools exist before executing
Quoting Petri Latvala (2017-12-14 11:20:18) > On Thu, Dec 14, 2017 at 11:14:35AM +, Chris Wilson wrote: > > > > > > Why the chdir? > > > > For me, I was trying to standardise the test, since "../tools" bakes in > > so many assumptions that simply aren't true when one invokes > > $path/tools_test. Back to the igt_data_dir() request. > > Aye, the assumption is bad and should get changed to support both run > methods (within build dir, with installed). Currently it works by > carefully setting up the CI deployment so paths match. =( > > > > > > CI runs tests with IGT installed (make install). The test's directory > > > is $libexecdir/intel-gpu-tools/, ../tools is $libexecdir/tools and > > > that doesn't exist. > > > > So where was it expecting to find the tools? > > > CI deploys the tools next to piglit. $cwd is piglit's directory when > running through piglit, tools are deployed to $piglit/../tools. How about if (access("../tools/", F_OK)) { chdir(); } Got to love temporary hacks. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt v2] igt/tools_test: Check the tools exist before executing
On Thu, Dec 14, 2017 at 11:14:35AM +, Chris Wilson wrote: > > > > Why the chdir? > > For me, I was trying to standardise the test, since "../tools" bakes in > so many assumptions that simply aren't true when one invokes > $path/tools_test. Back to the igt_data_dir() request. Aye, the assumption is bad and should get changed to support both run methods (within build dir, with installed). Currently it works by carefully setting up the CI deployment so paths match. =( > > > CI runs tests with IGT installed (make install). The test's directory > > is $libexecdir/intel-gpu-tools/, ../tools is $libexecdir/tools and > > that doesn't exist. > > So where was it expecting to find the tools? CI deploys the tools next to piglit. $cwd is piglit's directory when running through piglit, tools are deployed to $piglit/../tools. -- Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set
== Series Details == Series: drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set URL : https://patchwork.freedesktop.org/series/35338/ State : success == Summary == Test drv_suspend: Subgroup fence-restore-tiled2untiled-hibernate: skip -> FAIL (shard-hsw) fdo#103375 Test kms_frontbuffer_tracking: Subgroup fbc-1p-primscrn-cur-indfb-move: skip -> PASS (shard-hsw) fdo#101623 +2 Test gem_tiled_swapping: Subgroup non-threaded: pass -> INCOMPLETE (shard-hsw) fdo#104218 Test kms_setmode: Subgroup basic: pass -> FAIL (shard-hsw) fdo#99912 Test kms_flip: Subgroup modeset-vs-vblank-race: fail -> PASS (shard-hsw) fdo#103060 fdo#103375 https://bugs.freedesktop.org/show_bug.cgi?id=103375 fdo#101623 https://bugs.freedesktop.org/show_bug.cgi?id=101623 fdo#104218 https://bugs.freedesktop.org/show_bug.cgi?id=104218 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060 shard-hswtotal:2645 pass:1494 dwarn:1 dfail:0 fail:10 skip:1139 time:9158s shard-snbtotal:2712 pass:1308 dwarn:1 dfail:0 fail:12 skip:1391 time:8038s Blacklisted hosts: shard-apltotal:2636 pass:1632 dwarn:1 dfail:0 fail:27 skip:975 time:13534s shard-kbltotal:2712 pass:1803 dwarn:1 dfail:0 fail:30 skip:878 time:11087s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7493/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt v2] igt/tools_test: Check the tools exist before executing
Quoting Petri Latvala (2017-12-14 11:11:47) > On Wed, Dec 13, 2017 at 02:56:10PM +, Chris Wilson wrote: > > As a simple fail-safe against a bad installation, check the tools exist > > before testing whether they work. > > > > v2: Check intel_l3_parity as well > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102935 > > Signed-off-by: Chris Wilson > > Reviewed-by: Petri Latvala > > Reviewed-by: Joonas Lahtinen > > --- > > tests/tools_test.c | 48 +--- > > 1 file changed, 29 insertions(+), 19 deletions(-) > > > > diff --git a/tests/tools_test.c b/tests/tools_test.c > > index 6aea7a8a4..4183456e2 100644 > > --- a/tests/tools_test.c > > +++ b/tests/tools_test.c > > @@ -26,6 +26,10 @@ > > #include > > #include > > #include > > +#include > > +#include > > + > > +#define TOOLS "../tools/" > > > > struct line_check { > > int found; > > @@ -59,10 +63,19 @@ igt_main > > { > > igt_skip_on_simulation(); > > > > + igt_fixture { > > + char path[4096]; > > + > > + if (readlink("/proc/self/exe", path, sizeof(path)) > 0) > > + chdir(dirname(path)); > > + } > > > Why the chdir? For me, I was trying to standardise the test, since "../tools" bakes in so many assumptions that simply aren't true when one invokes $path/tools_test. Back to the igt_data_dir() request. > CI runs tests with IGT installed (make install). The test's directory > is $libexecdir/intel-gpu-tools/, ../tools is $libexecdir/tools and > that doesn't exist. So where was it expecting to find the tools? -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt v2] igt/tools_test: Check the tools exist before executing
On Wed, Dec 13, 2017 at 02:56:10PM +, Chris Wilson wrote: > As a simple fail-safe against a bad installation, check the tools exist > before testing whether they work. > > v2: Check intel_l3_parity as well > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102935 > Signed-off-by: Chris Wilson > Reviewed-by: Petri Latvala > Reviewed-by: Joonas Lahtinen > --- > tests/tools_test.c | 48 +--- > 1 file changed, 29 insertions(+), 19 deletions(-) > > diff --git a/tests/tools_test.c b/tests/tools_test.c > index 6aea7a8a4..4183456e2 100644 > --- a/tests/tools_test.c > +++ b/tests/tools_test.c > @@ -26,6 +26,10 @@ > #include > #include > #include > +#include > +#include > + > +#define TOOLS "../tools/" > > struct line_check { > int found; > @@ -59,10 +63,19 @@ igt_main > { > igt_skip_on_simulation(); > > + igt_fixture { > + char path[4096]; > + > + if (readlink("/proc/self/exe", path, sizeof(path)) > 0) > + chdir(dirname(path)); > + } Why the chdir? CI runs tests with IGT installed (make install). The test's directory is $libexecdir/intel-gpu-tools/, ../tools is $libexecdir/tools and that doesn't exist. -- Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t 4/6] i-g-t kms_plane_scaling: test scaling with tiling rotation and pixel formats
Just a quick comment at the bottom. On Wed, Dec 13, 2017 at 03:20:50PM +0530, Vidya Srinivas wrote: > @@ -312,23 +480,40 @@ static void test_plane_scaling(data_t *d, enum pipe > pipe) > igt_require_f(valid_tests, "no valid crtc/connector combinations > found\n"); > } > > -igt_simple_main > +igt_main > { > data_t data = {}; > enum pipe pipe; > > igt_skip_on_simulation(); > > - > - data.drm_fd = drm_open_driver(DRIVER_INTEL); > - igt_require_pipe_crc(data.drm_fd); > - igt_display_init(&data.display, data.drm_fd); > - data.devid = intel_get_drm_devid(data.drm_fd); > + igt_fixture { > + data.drm_fd = drm_open_driver(DRIVER_INTEL); > + kmstest_set_vt_graphics_mode(); > + igt_require_pipe_crc(data.drm_fd); > + igt_display_init(&data.display, data.drm_fd); > + data.devid = intel_get_drm_devid(data.drm_fd); > + igt_require_gem(data.drm_fd); > + } > > data.num_scalers = intel_gen(data.devid) >= 9 ? 2 : 0; Hm, would be nice if we could get rid of this hard-coded platform knowledge and autodiscover. But atm the kernel doesn't expose a "can_scale" property unfortunately. Maybe add a FIXME comment? Real reason I'm commenting here: You probably need to put this into the igt_fixture too, since otherwise you're test won't run correctly when just enumerating tests. > > - for_each_pipe_static(pipe) > - test_plane_scaling(&data, pipe); > + for_each_pipe_static(pipe) { > + > + igt_subtest_f("scaler_basic_test") { > + test_plane_scaling(&data, pipe); > + } > + > + igt_subtest_f("scaler_with_pixel_format") { > + test_scaler_with_pixel_format(&data, pipe); > + } > > - igt_display_fini(&data.display); > + igt_subtest_f("scaler_with_rotation") { > + test_scaler_with_rotation(&data, pipe); > + } > + > + igt_fixture { > + igt_display_fini(&data.display); > + } > + } Just a quick drive-by: You probably want to convert to subtest-based testing as the very first patch (without any functional tests). In your current series you add more subtests while still using igt_simple_main, which will blow up. The goal of a split up patch series isn't just to make review easier, but also testing: Every single step in your series is supposed to be a fully functional codebase. When you're not much experienced with building up such a patch series, it's good practice to double-check that before sending. I tend to use git rebase -x $test-script to automate that if possible. That way you can make sure that every single step in your patch series builds (cleanly!) and results in a working testcases (which should only change results if your patch aims to do that, not as some side-effect). Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v2] x86/gpu: add CFL to early quirks
On Wed, 13 Dec 2017, Lucas De Marchi wrote: > CFL was missing from intel_early_ids[]. The PCI ID needs to be there to > allow the memory region to be stolen, otherwise we could have RAM being > arbitrarily overwritten if for example we keep using the UEFI framebuffer, > depending on how BIOS has set up the e820 map. > > Fixes: b056f8f3d6b9 ("drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus.") > Signed-off-by: Lucas De Marchi > Cc: Rodrigo Vivi > Cc: Anusha Srivatsa > Cc: Jani Nikula > Cc: Joonas Lahtinen > Cc: David Airlie > Cc: intel-gfx@lists.freedesktop.org > Cc: dri-de...@lists.freedesktop.org > Cc: Ingo Molnar > Cc: H. Peter Anvin > Cc: Thomas Gleixner > Cc: x...@kernel.org > Cc: # v4.13+ 0890540e21cf drm/i915: add GT number to > intel_device_info > Cc: # v4.13+ 41693fd52373 drm/i915/kbl: Change a KBL > pci id to GT2 from GT1.5 > Cc: # v4.13+ Agreed on the Fixes: and Cc: stable here. Acked-by: Jani Nikula > Reviewed-by: Rodrigo Vivi > --- > > v2: improve commit message, add Fixes tag and CC stable > > arch/x86/kernel/early-quirks.c | 1 + > include/drm/i915_pciids.h | 6 ++ > 2 files changed, 7 insertions(+) > > diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c > index 3cbb2c78a9df..bae0d32e327b 100644 > --- a/arch/x86/kernel/early-quirks.c > +++ b/arch/x86/kernel/early-quirks.c > @@ -528,6 +528,7 @@ static const struct pci_device_id intel_early_ids[] > __initconst = { > INTEL_SKL_IDS(&gen9_early_ops), > INTEL_BXT_IDS(&gen9_early_ops), > INTEL_KBL_IDS(&gen9_early_ops), > + INTEL_CFL_IDS(&gen9_early_ops), > INTEL_GLK_IDS(&gen9_early_ops), > INTEL_CNL_IDS(&gen9_early_ops), > }; > diff --git a/include/drm/i915_pciids.h b/include/drm/i915_pciids.h > index 972a25633525..c65e4489006d 100644 > --- a/include/drm/i915_pciids.h > +++ b/include/drm/i915_pciids.h > @@ -392,6 +392,12 @@ > INTEL_VGA_DEVICE(0x3EA8, info), /* ULT GT3 */ \ > INTEL_VGA_DEVICE(0x3EA5, info) /* ULT GT3 */ > > +#define INTEL_CFL_IDS(info) \ > + INTEL_CFL_S_GT1_IDS(info), \ > + INTEL_CFL_S_GT2_IDS(info), \ > + INTEL_CFL_H_GT2_IDS(info), \ > + INTEL_CFL_U_GT3_IDS(info) > + > /* CNL U 2+2 */ > #define INTEL_CNL_U_GT2_IDS(info) \ > INTEL_VGA_DEVICE(0x5A52, info), \ -- Jani Nikula, Intel Open Source Technology Center ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t] igt/kms_rotation_crc: Add horizontal flip subtest.
On Thu, Nov 23, 2017 at 12:05 AM, Anusha Srivatsa wrote: > From: Joseph Garvey > > Test that horizontal flip works with supported rotations. Includes > a fix for the unrotated fb which was not being positioned correctly > with portrait and landscape rectangles. > > v2:(from Anusha) > - Change 180 degree rotation to follow the rest, use > igt_swap(), make flip variable a bool. Format the > patch correctly (Ville, Petri Latvala) > > v3: (From Anusha) > - Correct the name of subtests in order to avoid duplication > of names (Arek) > > Signed-off-by: Anusha Srivatsa > Signed-off-by: Joseph Garvey > Cc: Ville Syrjälä > Cc: Petri Latvala > Cc: Arkadiusz Hiler I didn't see this patch fly by originally, but now Marta pointed out that this skips everywhere. We need to rework it. General principle is that in kms tests we should _not_ have any platform/feature checks encoded in the test. Instead, the testcase should check properties to figure out whether something should work or not. > --- > lib/igt_kms.c| 2 +- > lib/igt_kms.h| 5 ++ > tests/kms_rotation_crc.c | 198 > +-- > 3 files changed, 164 insertions(+), 41 deletions(-) > > diff --git a/lib/igt_kms.c b/lib/igt_kms.c > index a572fc6..3034e44 100644 > --- a/lib/igt_kms.c > +++ b/lib/igt_kms.c > @@ -3050,7 +3050,7 @@ void igt_fb_set_size(struct igt_fb *fb, igt_plane_t > *plane, > > static const char *rotation_name(igt_rotation_t rotation) > { > - switch (rotation) { > + switch (rotation & IGT_ROTATION_MASK) { > case IGT_ROTATION_0: > return "0°"; > case IGT_ROTATION_90: > diff --git a/lib/igt_kms.h b/lib/igt_kms.h > index 8dc118c..b83a828 100644 > --- a/lib/igt_kms.h > +++ b/lib/igt_kms.h > @@ -281,8 +281,13 @@ typedef enum { > IGT_ROTATION_90 = 1 << 1, > IGT_ROTATION_180 = 1 << 2, > IGT_ROTATION_270 = 1 << 3, > + IGT_REFLECT_X= 1 << 4, > + IGT_REFLECT_Y= 1 << 5, > } igt_rotation_t; > > +#define IGT_ROTATION_MASK \ > + (IGT_ROTATION_0 | IGT_ROTATION_90 | IGT_ROTATION_180 | > IGT_ROTATION_270) > + > typedef struct { > /*< private >*/ > igt_pipe_t *pipe; > diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c > index 5aec8fa..9e13667 100644 > --- a/tests/kms_rotation_crc.c > +++ b/tests/kms_rotation_crc.c > @@ -32,6 +32,7 @@ typedef struct { > igt_display_t display; > struct igt_fb fb; > struct igt_fb fb_reference; > + struct igt_fb fb_unrotated; > struct igt_fb fb_modeset; > struct igt_fb fb_flip; > igt_crc_t ref_crc; > @@ -43,8 +44,59 @@ typedef struct { > uint32_t override_fmt; > uint64_t override_tiling; > bool flips; > + int devid; > } data_t; > > +typedef struct { > + float r; > + float g; > + float b; > +} rgb_color_t; > + > +static void set_color(rgb_color_t *color, float r, float g, float b) > +{ > + color->r = r; > + color->g = g; > + color->b = b; > +} > + > +static void rotate_colors(rgb_color_t *tl, rgb_color_t *tr, rgb_color_t *br, > + rgb_color_t *bl, igt_rotation_t rotation) > +{ > + rgb_color_t bl_tmp, br_tmp, tl_tmp, tr_tmp; > + > + if (rotation & IGT_REFLECT_X) { > + igt_swap(*tl, *tr); > + igt_swap(*bl, *br); > + } > + > + if (rotation & IGT_ROTATION_90) { > + bl_tmp = *bl; > + br_tmp = *br; > + tl_tmp = *tl; > + tr_tmp = *tr; > + *tl = tr_tmp; > + *bl = tl_tmp; > + *tr = br_tmp; > + *br = bl_tmp; > + } else if (rotation & IGT_ROTATION_180) { > + igt_swap(*tl, *br); > + igt_swap(*tr, *bl); > + } else if (rotation & IGT_ROTATION_270) { > + bl_tmp = *bl; > + br_tmp = *br; > + tl_tmp = *tl; > + tr_tmp = *tr; > + *tl = bl_tmp; > + *bl = br_tmp; > + *tr = tl_tmp; > + *br = tr_tmp; > + } > +} > + > +#define RGB_COLOR(color) \ > + color.r, color.g, color.b > + > static void > paint_squares(data_t *data, igt_rotation_t rotation, > struct igt_fb *fb, float o) > @@ -52,35 +104,21 @@ paint_squares(data_t *data, igt_rotation_t rotation, > cairo_t *cr; > unsigned int w = fb->width; > unsigned int h = fb->height; > + rgb_color_t tl, tr, bl, br; > > cr = igt_get_cairo_ctx(data->gfx_fd, fb); > > - if (rotation == IGT_ROTATION_180) { > - cairo_translate(cr, w, h); > - cairo_rotate(cr, M_PI); > - } > + set_color(&tl, o, 0.0f, 0.0f); > + set_color(&tr, 0.0f, o, 0.0f); > + set_color(&br, o, o, o); > + set_color(&bl, 0.0f, 0.0f, o); > > - if (rotation == IGT_ROTATION_90)
Re: [Intel-gfx] [PATCH] drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set
On Thu, 14 Dec 2017, Abdiel Janulgue wrote: > 4K modes testing by using dummy EDID data has never been working > properly on boxes with DP++ (dual-mode) adaptors. The reason for > this is that those modes got pruned during hdmi mode validation. > intel_hdmi_mode_valid returns CLOCK_HIGH because the pixel clock > reported by the 4k mode is higher than dual port TMDS clock limit. > > However 4k injection does work properly on machines that don't have > DP++ adapters because the mode is never validated against the DP++ > TMDS clock limit. > > Ignore the limits when we're testing using overriden EDIDs. What you're actually doing is *not* detecting dual mode adaptors when you're using an override EDID. Which means, with this patch, you can't use override EDID with dual mode adaptors, at all. (By proxy this means you of course ignore the limits too...) Slightly less damage would be changing the has_edid check above your change to (has_edid && !connector->override_edid). Still not great, but better than this. Oh, and deserves a comment in code. The question is, how do you decide which ports to use for override EDID testing? Why does the VBT on these machines say those ports presumably have a dual mode adaptor? BR, Jani. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101649 > Cc: Ville Syrjälä > Cc: Jani Nikula > Cc: Daniel Vetter > Signed-off-by: Abdiel Janulgue > --- > drivers/gpu/drm/i915/intel_hdmi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c > b/drivers/gpu/drm/i915/intel_hdmi.c > index bced7b9..d133353 100644 > --- a/drivers/gpu/drm/i915/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > @@ -1576,7 +1576,7 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector > *connector, bool has_edid) > } > } > > - if (type == DRM_DP_DUAL_MODE_NONE) > + if (type == DRM_DP_DUAL_MODE_NONE || connector->override_edid) > return; > > hdmi->dp_dual_mode.type = type; -- Jani Nikula, Intel Open Source Technology Center ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set
== Series Details == Series: drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set URL : https://patchwork.freedesktop.org/series/35338/ State : success == Summary == Series 35338v1 drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set https://patchwork.freedesktop.org/api/1.0/series/35338/revisions/1/mbox/ Test gem_exec_suspend: Subgroup basic-s4-devices: pass -> DMESG-WARN (fi-elk-e7500) fdo#103989 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: fail -> PASS (fi-gdg-551) fdo#102575 Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-a: dmesg-warn -> PASS (fi-kbl-r) fdo#104172 fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#104172 https://bugs.freedesktop.org/show_bug.cgi?id=104172 fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:430s fi-bdw-gvtdvmtotal:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:444s fi-blb-e6850 total:288 pass:222 dwarn:1 dfail:0 fail:1 skip:64 time:386s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:503s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:278s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:497s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:497s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:480s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:475s fi-elk-e7500 total:224 pass:163 dwarn:15 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:179 dwarn:1 dfail:0 fail:0 skip:108 time:264s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:539s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:404s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:416s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:388s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:476s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:426s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:479s fi-kbl-7560u total:288 pass:268 dwarn:1 dfail:0 fail:0 skip:19 time:523s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:462s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:523s fi-pnv-d510 total:288 pass:221 dwarn:1 dfail:0 fail:1 skip:65 time:588s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:443s fi-skl-6600u total:288 pass:260 dwarn:1 dfail:0 fail:0 skip:27 time:536s fi-skl-6700hqtotal:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:558s fi-skl-6770hqtotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:479s fi-skl-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:447s fi-snb-2520m total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:541s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:413s Blacklisted hosts: fi-cfl-s2total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:598s fi-cnl-y total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:620s fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:484s 612ecaaadb8722dc42cfebcc862fee41e5896dd3 drm-tip: 2017y-12m-14d-08h-09m-42s UTC integration manifest d1bd7e573c06 drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7493/issues.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Ignore TMDS clock limit for DP++ when EDID override is set
4K modes testing by using dummy EDID data has never been working properly on boxes with DP++ (dual-mode) adaptors. The reason for this is that those modes got pruned during hdmi mode validation. intel_hdmi_mode_valid returns CLOCK_HIGH because the pixel clock reported by the 4k mode is higher than dual port TMDS clock limit. However 4k injection does work properly on machines that don't have DP++ adapters because the mode is never validated against the DP++ TMDS clock limit. Ignore the limits when we're testing using overriden EDIDs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101649 Cc: Ville Syrjälä Cc: Jani Nikula Cc: Daniel Vetter Signed-off-by: Abdiel Janulgue --- drivers/gpu/drm/i915/intel_hdmi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index bced7b9..d133353 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c @@ -1576,7 +1576,7 @@ intel_hdmi_dp_dual_mode_detect(struct drm_connector *connector, bool has_edid) } } - if (type == DRM_DP_DUAL_MODE_NONE) + if (type == DRM_DP_DUAL_MODE_NONE || connector->override_edid) return; hdmi->dp_dual_mode.type = type; -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✗ Fi.CI.IGT: warning for series starting with [CI,1/7] drm/i915/guc: Move shared data allocation away from submission path
Quoting Patchwork (2017-12-14 00:03:46) > == Series Details == > > Series: series starting with [CI,1/7] drm/i915/guc: Move shared data > allocation away from submission path > URL : https://patchwork.freedesktop.org/series/35321/ > State : warning And pushed, thanks for the fixups and review, -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx