Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3120 → Rev 5078

/drivers/video/drm/radeon/radeon_sa.c
49,7 → 49,7
 
int radeon_sa_bo_manager_init(struct radeon_device *rdev,
struct radeon_sa_manager *sa_manager,
unsigned size, u32 domain)
unsigned size, u32 align, u32 domain, u32 flags)
{
int i, r;
 
57,6 → 57,7
sa_manager->bo = NULL;
sa_manager->size = size;
sa_manager->domain = domain;
sa_manager->align = align;
sa_manager->hole = &sa_manager->olist;
INIT_LIST_HEAD(&sa_manager->olist);
for (i = 0; i < RADEON_NUM_RINGS; ++i) {
63,8 → 64,8
INIT_LIST_HEAD(&sa_manager->flist[i]);
}
 
r = radeon_bo_create(rdev, size, RADEON_GPU_PAGE_SIZE, true,
domain, NULL, &sa_manager->bo);
r = radeon_bo_create(rdev, size, align, true,
domain, flags, NULL, &sa_manager->bo);
if (r) {
dev_err(rdev->dev, "(%d) failed to allocate bo for manager\n", r);
return r;
311,13 → 312,13
int radeon_sa_bo_new(struct radeon_device *rdev,
struct radeon_sa_manager *sa_manager,
struct radeon_sa_bo **sa_bo,
unsigned size, unsigned align, bool block)
unsigned size, unsigned align)
{
struct radeon_fence *fences[RADEON_NUM_RINGS];
unsigned tries[RADEON_NUM_RINGS];
int i, r;
 
BUG_ON(align > RADEON_GPU_PAGE_SIZE);
BUG_ON(align > sa_manager->align);
BUG_ON(size > sa_manager->size);
 
*sa_bo = kmalloc(sizeof(struct radeon_sa_bo), GFP_KERNEL);
352,14 → 353,11
r = radeon_fence_wait_any(rdev, fences, false);
spin_lock(&sa_manager->wq.lock);
/* if we have nothing to wait for block */
if (r == -ENOENT && block) {
// r = wait_event_interruptible_locked(
// sa_manager->wq,
// radeon_sa_event(sa_manager, size, align)
// );
 
} else if (r == -ENOENT) {
r = -ENOMEM;
if (r == -ENOENT) {
r = wait_event_interruptible(
sa_manager->wq,
radeon_sa_event(sa_manager, size, align)
);
}
 
} while (!r);
401,13 → 399,15
 
spin_lock(&sa_manager->wq.lock);
list_for_each_entry(i, &sa_manager->olist, olist) {
uint64_t soffset = i->soffset + sa_manager->gpu_addr;
uint64_t eoffset = i->eoffset + sa_manager->gpu_addr;
if (&i->olist == sa_manager->hole) {
seq_printf(m, ">");
} else {
seq_printf(m, " ");
}
seq_printf(m, "[0x%08x 0x%08x] size %8d",
i->soffset, i->eoffset, i->eoffset - i->soffset);
seq_printf(m, "[0x%010llx 0x%010llx] size %8lld",
soffset, eoffset, eoffset - soffset);
if (i->fence) {
seq_printf(m, " protected by 0x%016llx on ring %d",
i->fence->seq, i->fence->ring);