mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 20:55:22 +07:00
e93b6deeb4
This hooks in the DRM GPU scheduler. No improvement yet, as all the dependency handling is still done in etnaviv_gem_submit. This just replaces the actual GPU submit by passing through the scheduler. Allows to get rid of the retire worker, as this is now driven by the scheduler. Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
36 lines
1.1 KiB
C
36 lines
1.1 KiB
C
/*
|
|
* Copyright (C) 2017 Etnaviv Project
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License version 2 as published by
|
|
* the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with
|
|
* this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef __ETNAVIV_SCHED_H__
|
|
#define __ETNAVIV_SCHED_H__
|
|
|
|
#include <drm/gpu_scheduler.h>
|
|
|
|
struct etnaviv_gpu;
|
|
|
|
static inline
|
|
struct etnaviv_gem_submit *to_etnaviv_submit(struct drm_sched_job *sched_job)
|
|
{
|
|
return container_of(sched_job, struct etnaviv_gem_submit, sched_job);
|
|
}
|
|
|
|
int etnaviv_sched_init(struct etnaviv_gpu *gpu);
|
|
void etnaviv_sched_fini(struct etnaviv_gpu *gpu);
|
|
int etnaviv_sched_push_job(struct drm_sched_entity *sched_entity,
|
|
struct etnaviv_gem_submit *submit);
|
|
|
|
#endif /* __ETNAVIV_SCHED_H__ */
|