gpu: nvgpu: add force argument to os channel close

os channel close may block for other OSes. Add force argument so that 
wait can be skipped for forced close use-case.

Change-Id: Ic0749d78b2af8aecfeb6dee7a2c56e6dec8d2a20
Signed-off-by: Shashank Singh <shashsingh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2077239
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Shashank Singh
2019-03-20 14:00:50 +05:30
committed by mobile promotions
parent 939e85d35f
commit 63b17cb482
3 changed files with 3 additions and 3 deletions

View File

@@ -340,7 +340,7 @@ static void gk20a_free_channel(struct channel_gk20a *ch, bool force)
trace_gk20a_free_channel(ch->chid);
if (g->os_channel.close != NULL) {
g->os_channel.close(ch);
g->os_channel.close(ch, force);
}
/*

View File

@@ -2066,7 +2066,7 @@ struct gk20a {
struct {
void (*open)(struct channel_gk20a *ch);
void (*close)(struct channel_gk20a *ch);
void (*close)(struct channel_gk20a *ch, bool force);
void (*work_completion_signal)(struct channel_gk20a *ch);
void (*work_completion_cancel_sync)(struct channel_gk20a *ch);
bool (*os_fence_framework_inst_exists)(struct channel_gk20a *ch);

View File

@@ -270,7 +270,7 @@ static void nvgpu_channel_open_linux(struct channel_gk20a *ch)
{
}
static void nvgpu_channel_close_linux(struct channel_gk20a *ch)
static void nvgpu_channel_close_linux(struct channel_gk20a *ch, bool force)
{
nvgpu_channel_work_completion_clear(ch);