* [PATCH 1/2] drm/i915: Add __rcu to radix tree slot pointer
@ 2017-09-01 17:12 ville.syrjala
2017-09-01 17:12 ` [PATCH 2/2] drm/i915: io unmap functions want __iomem ville.syrjala
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: ville.syrjala @ 2017-09-01 17:12 UTC (permalink / raw)
To: intel-gfx
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
radix_tree_for_each_slot() wants an __rcu annotated pointer for the
slot. So let's add the annotation.
Fixes the following sparse warnings:
i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces)
i915_gem.c:2217:9: expected void **slot
i915_gem.c:2217:9: got void [noderef] <asn:4>**
i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces)
i915_gem.c:2217:9: expected void **slot
i915_gem.c:2217:9: got void [noderef] <asn:4>**
i915_gem.c:2217:9: warning: incorrect type in argument 1 (different address spaces)
i915_gem.c:2217:9: expected void [noderef] <asn:4>**slot
i915_gem.c:2217:9: got void **slot
i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces)
i915_gem.c:2217:9: expected void **slot
i915_gem.c:2217:9: got void [noderef] <asn:4>**
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Fixes: 96d776345277 ("drm/i915: Use a radixtree for random access to the object's backing storage")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/i915/i915_gem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index e4cc08bc518c..945c4650c249 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2212,7 +2212,7 @@ i915_gem_object_put_pages_gtt(struct drm_i915_gem_object *obj,
static void __i915_gem_object_reset_page_iter(struct drm_i915_gem_object *obj)
{
struct radix_tree_iter iter;
- void **slot;
+ void __rcu **slot;
radix_tree_for_each_slot(slot, &obj->mm.get_page.radix, &iter, 0)
radix_tree_delete(&obj->mm.get_page.radix, iter.index);
--
2.13.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 2/2] drm/i915: io unmap functions want __iomem 2017-09-01 17:12 [PATCH 1/2] drm/i915: Add __rcu to radix tree slot pointer ville.syrjala @ 2017-09-01 17:12 ` ville.syrjala 2017-09-01 18:53 ` Chris Wilson 2017-09-01 18:39 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer Patchwork ` (2 subsequent siblings) 3 siblings, 1 reply; 7+ messages in thread From: ville.syrjala @ 2017-09-01 17:12 UTC (permalink / raw) To: intel-gfx From: Ville Syrjälä <ville.syrjala@linux.intel.com> Don't cast away the __iomem from the io_mapping functions so that sparse won't be so unhappy when we pass the pointer to the unmap functions. Instead let's move the cast to where we actually use the pointer. Fixes the following sparse warnings: i915_gem.c:1022:33: warning: incorrect type in argument 1 (different address spaces) i915_gem.c:1022:33: expected void [noderef] <asn:2>*vaddr i915_gem.c:1022:33: got void *[assigned] vaddr i915_gem.c:1027:34: warning: incorrect type in argument 1 (different address spaces) i915_gem.c:1027:34: expected void [noderef] <asn:2>*vaddr i915_gem.c:1027:34: got void *[assigned] vaddr i915_gem.c:1199:33: warning: incorrect type in argument 1 (different address spaces) i915_gem.c:1199:33: expected void [noderef] <asn:2>*vaddr i915_gem.c:1199:33: got void *[assigned] vaddr i915_gem.c:1204:34: warning: incorrect type in argument 1 (different address spaces) i915_gem.c:1204:34: expected void [noderef] <asn:2>*vaddr i915_gem.c:1204:34: got void *[assigned] vaddr Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/gpu/drm/i915/i915_gem.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 945c4650c249..72008e4c8c8f 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1013,17 +1013,20 @@ gtt_user_read(struct io_mapping *mapping, loff_t base, int offset, char __user *user_data, int length) { - void *vaddr; + void __iomem *vaddr; unsigned long unwritten; /* We can use the cpu mem copy function because this is X86. */ - vaddr = (void __force *)io_mapping_map_atomic_wc(mapping, base); - unwritten = __copy_to_user_inatomic(user_data, vaddr + offset, length); + vaddr = io_mapping_map_atomic_wc(mapping, base); + unwritten = __copy_to_user_inatomic(user_data, + (void __force *)vaddr + offset, + length); io_mapping_unmap_atomic(vaddr); if (unwritten) { - vaddr = (void __force *) - io_mapping_map_wc(mapping, base, PAGE_SIZE); - unwritten = copy_to_user(user_data, vaddr + offset, length); + vaddr = io_mapping_map_wc(mapping, base, PAGE_SIZE); + unwritten = copy_to_user(user_data, + (void __force *)vaddr + offset, + length); io_mapping_unmap(vaddr); } return unwritten; @@ -1189,18 +1192,18 @@ ggtt_write(struct io_mapping *mapping, loff_t base, int offset, char __user *user_data, int length) { - void *vaddr; + void __iomem *vaddr; unsigned long unwritten; /* We can use the cpu mem copy function because this is X86. */ - vaddr = (void __force *)io_mapping_map_atomic_wc(mapping, base); - unwritten = __copy_from_user_inatomic_nocache(vaddr + offset, + vaddr = io_mapping_map_atomic_wc(mapping, base); + unwritten = __copy_from_user_inatomic_nocache((void __force *)vaddr + offset, user_data, length); io_mapping_unmap_atomic(vaddr); if (unwritten) { - vaddr = (void __force *) - io_mapping_map_wc(mapping, base, PAGE_SIZE); - unwritten = copy_from_user(vaddr + offset, user_data, length); + vaddr = io_mapping_map_wc(mapping, base, PAGE_SIZE); + unwritten = copy_from_user((void __force *)vaddr + offset, + user_data, length); io_mapping_unmap(vaddr); } -- 2.13.5 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/i915: io unmap functions want __iomem 2017-09-01 17:12 ` [PATCH 2/2] drm/i915: io unmap functions want __iomem ville.syrjala @ 2017-09-01 18:53 ` Chris Wilson 2017-09-04 17:00 ` Ville Syrjälä 0 siblings, 1 reply; 7+ messages in thread From: Chris Wilson @ 2017-09-01 18:53 UTC (permalink / raw) To: ville.syrjala, intel-gfx Quoting ville.syrjala@linux.intel.com (2017-09-01 18:12:52) > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Don't cast away the __iomem from the io_mapping functions so that > sparse won't be so unhappy when we pass the pointer to the unmap > functions. Instead let's move the cast to where we actually use the > pointer. > > Fixes the following sparse warnings: > i915_gem.c:1022:33: warning: incorrect type in argument 1 (different address spaces) > i915_gem.c:1022:33: expected void [noderef] <asn:2>*vaddr > i915_gem.c:1022:33: got void *[assigned] vaddr > i915_gem.c:1027:34: warning: incorrect type in argument 1 (different address spaces) > i915_gem.c:1027:34: expected void [noderef] <asn:2>*vaddr > i915_gem.c:1027:34: got void *[assigned] vaddr > i915_gem.c:1199:33: warning: incorrect type in argument 1 (different address spaces) > i915_gem.c:1199:33: expected void [noderef] <asn:2>*vaddr > i915_gem.c:1199:33: got void *[assigned] vaddr > i915_gem.c:1204:34: warning: incorrect type in argument 1 (different address spaces) > i915_gem.c:1204:34: expected void [noderef] <asn:2>*vaddr > i915_gem.c:1204:34: got void *[assigned] vaddr > > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> 6 of one, half a dozen of the other. We need to do the __force cast somewhere, so whichever is more convenient. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/i915: io unmap functions want __iomem 2017-09-01 18:53 ` Chris Wilson @ 2017-09-04 17:00 ` Ville Syrjälä 0 siblings, 0 replies; 7+ messages in thread From: Ville Syrjälä @ 2017-09-04 17:00 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx On Fri, Sep 01, 2017 at 07:53:05PM +0100, Chris Wilson wrote: > Quoting ville.syrjala@linux.intel.com (2017-09-01 18:12:52) > > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > > > Don't cast away the __iomem from the io_mapping functions so that > > sparse won't be so unhappy when we pass the pointer to the unmap > > functions. Instead let's move the cast to where we actually use the > > pointer. > > > > Fixes the following sparse warnings: > > i915_gem.c:1022:33: warning: incorrect type in argument 1 (different address spaces) > > i915_gem.c:1022:33: expected void [noderef] <asn:2>*vaddr > > i915_gem.c:1022:33: got void *[assigned] vaddr > > i915_gem.c:1027:34: warning: incorrect type in argument 1 (different address spaces) > > i915_gem.c:1027:34: expected void [noderef] <asn:2>*vaddr > > i915_gem.c:1027:34: got void *[assigned] vaddr > > i915_gem.c:1199:33: warning: incorrect type in argument 1 (different address spaces) > > i915_gem.c:1199:33: expected void [noderef] <asn:2>*vaddr > > i915_gem.c:1199:33: got void *[assigned] vaddr > > i915_gem.c:1204:34: warning: incorrect type in argument 1 (different address spaces) > > i915_gem.c:1204:34: expected void [noderef] <asn:2>*vaddr > > i915_gem.c:1204:34: got void *[assigned] vaddr > > > > Cc: Chris Wilson <chris@chris-wilson.co.uk> > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > 6 of one, half a dozen of the other. We need to do the __force cast > somewhere, so whichever is more convenient. > Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Thanks. Series pushed to dinq. -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer 2017-09-01 17:12 [PATCH 1/2] drm/i915: Add __rcu to radix tree slot pointer ville.syrjala 2017-09-01 17:12 ` [PATCH 2/2] drm/i915: io unmap functions want __iomem ville.syrjala @ 2017-09-01 18:39 ` Patchwork 2017-09-01 18:51 ` [PATCH 1/2] " Chris Wilson 2017-09-02 0:46 ` ✓ Fi.CI.IGT: success for series starting with [1/2] " Patchwork 3 siblings, 0 replies; 7+ messages in thread From: Patchwork @ 2017-09-01 18:39 UTC (permalink / raw) To: ville.syrjala; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer URL : https://patchwork.freedesktop.org/series/29716/ State : success == Summary == Series 29716v1 series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer https://patchwork.freedesktop.org/api/1.0/series/29716/revisions/1/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: fail -> PASS (fi-snb-2600) fdo#100215 Test kms_flip: Subgroup basic-flip-vs-modeset: skip -> PASS (fi-skl-x1585l) fdo#101781 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fi-bdw-5557u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:454s fi-blb-e6850 total:288 pass:224 dwarn:1 dfail:0 fail:0 skip:63 time:357s fi-bsw-n3050 total:288 pass:243 dwarn:0 dfail:0 fail:0 skip:45 time:554s fi-bwr-2160 total:288 pass:184 dwarn:0 dfail:0 fail:0 skip:104 time:254s fi-bxt-j4205 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:521s fi-byt-j1900 total:288 pass:254 dwarn:1 dfail:0 fail:0 skip:33 time:529s fi-byt-n2820 total:288 pass:250 dwarn:1 dfail:0 fail:0 skip:37 time:516s fi-elk-e7500 total:288 pass:230 dwarn:0 dfail:0 fail:0 skip:58 time:439s fi-glk-2a total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:611s fi-hsw-4770 total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:445s fi-hsw-4770r total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:425s fi-ilk-650 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:427s fi-ivb-3520m total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:509s fi-ivb-3770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:477s fi-kbl-7500u total:288 pass:264 dwarn:1 dfail:0 fail:0 skip:23 time:519s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:595s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:601s fi-pnv-d510 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:520s fi-skl-6260u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:470s fi-skl-6700k total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:535s fi-skl-6770hq total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:495s fi-skl-gvtdvm total:288 pass:266 dwarn:0 dfail:0 fail:0 skip:22 time:443s fi-skl-x1585l total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:510s fi-snb-2520m total:288 pass:251 dwarn:0 dfail:0 fail:0 skip:37 time:549s fi-snb-2600 total:288 pass:249 dwarn:0 dfail:0 fail:1 skip:38 time:413s fi-bdw-gvtdvm failed to connect after reboot de9e73663a51fb7f849ef13ddb3338a20d91970c drm-tip: 2017y-09m-01d-17h-32m-40s UTC integration manifest aafa46dd9ffa drm/i915: io unmap functions want __iomem 388ec38e1b57 drm/i915: Add __rcu to radix tree slot pointer == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5570/ _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] drm/i915: Add __rcu to radix tree slot pointer 2017-09-01 17:12 [PATCH 1/2] drm/i915: Add __rcu to radix tree slot pointer ville.syrjala 2017-09-01 17:12 ` [PATCH 2/2] drm/i915: io unmap functions want __iomem ville.syrjala 2017-09-01 18:39 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer Patchwork @ 2017-09-01 18:51 ` Chris Wilson 2017-09-02 0:46 ` ✓ Fi.CI.IGT: success for series starting with [1/2] " Patchwork 3 siblings, 0 replies; 7+ messages in thread From: Chris Wilson @ 2017-09-01 18:51 UTC (permalink / raw) To: ville.syrjala, intel-gfx Quoting ville.syrjala@linux.intel.com (2017-09-01 18:12:51) > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > radix_tree_for_each_slot() wants an __rcu annotated pointer for the > slot. So let's add the annotation. > > Fixes the following sparse warnings: > i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces) > i915_gem.c:2217:9: expected void **slot > i915_gem.c:2217:9: got void [noderef] <asn:4>** > i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces) > i915_gem.c:2217:9: expected void **slot > i915_gem.c:2217:9: got void [noderef] <asn:4>** > i915_gem.c:2217:9: warning: incorrect type in argument 1 (different address spaces) > i915_gem.c:2217:9: expected void [noderef] <asn:4>**slot > i915_gem.c:2217:9: got void **slot > i915_gem.c:2217:9: warning: incorrect type in assignment (different address spaces) > i915_gem.c:2217:9: expected void **slot > i915_gem.c:2217:9: got void [noderef] <asn:4>** > > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Fixes: 96d776345277 ("drm/i915: Use a radixtree for random access to the object's backing storage") > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Looks ok, Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
* ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer 2017-09-01 17:12 [PATCH 1/2] drm/i915: Add __rcu to radix tree slot pointer ville.syrjala ` (2 preceding siblings ...) 2017-09-01 18:51 ` [PATCH 1/2] " Chris Wilson @ 2017-09-02 0:46 ` Patchwork 3 siblings, 0 replies; 7+ messages in thread From: Patchwork @ 2017-09-02 0:46 UTC (permalink / raw) To: ville.syrjala; +Cc: intel-gfx == Series Details == Series: series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer URL : https://patchwork.freedesktop.org/series/29716/ State : success == Summary == shard-hsw total:2263 pass:1232 dwarn:0 dfail:0 fail:15 skip:1015 time:9492s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5570/shards.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-09-04 17:00 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-09-01 17:12 [PATCH 1/2] drm/i915: Add __rcu to radix tree slot pointer ville.syrjala 2017-09-01 17:12 ` [PATCH 2/2] drm/i915: io unmap functions want __iomem ville.syrjala 2017-09-01 18:53 ` Chris Wilson 2017-09-04 17:00 ` Ville Syrjälä 2017-09-01 18:39 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/i915: Add __rcu to radix tree slot pointer Patchwork 2017-09-01 18:51 ` [PATCH 1/2] " Chris Wilson 2017-09-02 0:46 ` ✓ Fi.CI.IGT: success for series starting with [1/2] " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox