Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5353 → Rev 5354

/drivers/video/drm/i915/i915_gem_render_state.c
28,13 → 28,6
#include "i915_drv.h"
#include "intel_renderstate.h"
 
struct render_state {
const struct intel_renderstate_rodata *rodata;
struct drm_i915_gem_object *obj;
u64 ggtt_offset;
int gen;
};
 
static const struct intel_renderstate_rodata *
render_state_get_rodata(struct drm_device *dev, const int gen)
{
45,6 → 38,8
return &gen7_null_state;
case 8:
return &gen8_null_state;
case 9:
return &gen9_null_state;
}
 
return NULL;
113,7 → 108,7
 
d[i++] = s;
}
FreeKernelSpace(d);
kunmap(page);
 
ret = i915_gem_object_set_to_gtt_domain(so->obj, false);
if (ret)
127,31 → 122,48
return 0;
}
 
static void render_state_fini(struct render_state *so)
void i915_gem_render_state_fini(struct render_state *so)
{
i915_gem_object_ggtt_unpin(so->obj);
drm_gem_object_unreference(&so->obj->base);
}
 
int i915_gem_render_state_init(struct intel_engine_cs *ring)
int i915_gem_render_state_prepare(struct intel_engine_cs *ring,
struct render_state *so)
{
struct render_state so;
int ret;
 
if (WARN_ON(ring->id != RCS))
return -ENOENT;
 
ret = render_state_init(&so, ring->dev);
ret = render_state_init(so, ring->dev);
if (ret)
return ret;
 
if (so.rodata == NULL)
if (so->rodata == NULL)
return 0;
 
ret = render_state_setup(&so);
ret = render_state_setup(so);
if (ret) {
i915_gem_render_state_fini(so);
return ret;
}
 
return 0;
}
 
int i915_gem_render_state_init(struct intel_engine_cs *ring)
{
struct render_state so;
int ret;
 
ret = i915_gem_render_state_prepare(ring, &so);
if (ret)
goto out;
return ret;
 
if (so.rodata == NULL)
return 0;
 
ret = ring->dispatch_execbuffer(ring,
so.ggtt_offset,
so.rodata->batch_items * 4,
164,6 → 176,6
ret = __i915_add_request(ring, NULL, so.obj, NULL);
/* __i915_add_request moves object to inactive if it fails */
out:
render_state_fini(&so);
i915_gem_render_state_fini(&so);
return ret;
}