Displaying 4 results from an estimated 4 matches for "iomap_uncached".
2014 Jun 27
5
[PATCH 1/2] drm/nouveau/bar: add noncached ioremap property
...m/nouveau/core/include/subdev/bar.h
@@ -20,6 +20,9 @@ struct nouveau_bar {
u32 flags, struct nouveau_vma *);
void (*unmap)(struct nouveau_bar *, struct nouveau_vma *);
void (*flush)(struct nouveau_bar *);
+
+ /* whether the BAR supports to be ioremapped WC or should be uncached */
+ bool iomap_uncached;
};
static inline struct nouveau_bar *
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
index b6dc85c614be..4db886f9f793 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -500,18 +500,25 @@ nouveau_bo_init_mem...
2014 Jun 28
1
[PATCH v2] drm/gk20a: add BAR instance
...r *bar;
>>>+ int ret;
>>>+
>>>+ ret = nvc0_bar_ctor(parent, engine, oclass, data, size, pobject);
>>>+ if (ret)
>>>+ return ret;
>>>+
>>>+ bar = (struct nouveau_bar *)*pobject;
>>>+ bar->iomap_uncached = true;
>>>+
>>>+ return 0;
>>>+}
>>>+
>>>+struct nouveau_oclass
>>>+gk20a_bar_oclass = {
>>>+ .handle = NV_SUBDEV(BAR, 0xea),
>>>+ .ofuncs = &(struct nouveau_ofuncs) {
>>>+ .ctor = gk20...
2014 Jun 27
0
[PATCH 2/2] drm/gk20a: add BAR instance
...ruct nouveau_object *engine,
+ struct nouveau_oclass *oclass, void *data, u32 size,
+ struct nouveau_object **pobject)
+{
+ struct nouveau_bar *bar;
+ int ret;
+
+ ret = nvc0_bar_ctor(parent, engine, oclass, data, size, pobject);
+ if (ret)
+ return ret;
+
+ bar = *pobject;
+ bar->iomap_uncached = true;
+
+ return 0;
+}
+
+struct nouveau_oclass
+gk20a_bar_oclass = {
+ .handle = NV_SUBDEV(BAR, 0xea),
+ .ofuncs = &(struct nouveau_ofuncs) {
+ .ctor = gk20a_bar_ctor,
+ .dtor = nvc0_bar_dtor,
+ .init = nvc0_bar_init,
+ .fini = _nouveau_bar_fini,
+ },
+};
diff --git a/drivers/gpu/drm/nou...
2014 Jun 28
0
[PATCH v2] drm/gk20a: add BAR instance
...>>+ struct nouveau_bar *bar;
>>+ int ret;
>>+
>>+ ret = nvc0_bar_ctor(parent, engine, oclass, data, size, pobject);
>>+ if (ret)
>>+ return ret;
>>+
>>+ bar = (struct nouveau_bar *)*pobject;
>>+ bar->iomap_uncached = true;
>>+
>>+ return 0;
>>+}
>>+
>>+struct nouveau_oclass
>>+gk20a_bar_oclass = {
>>+ .handle = NV_SUBDEV(BAR, 0xea),
>>+ .ofuncs = &(struct nouveau_ofuncs) {
>>+ .ctor = gk20a_bar_ctor,
>>+ ....