mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 10:11:26 +03:00
drivers: platform: tegra: dce: Clean up ivc notify
Revisit ivc signaling during handshake and clean it up to reduce spurious signals. JIRA TDS-6381 Bug 200666838 Change-Id: I1698220b968d0aa8d1b6d1d36d551118be283c02 Signed-off-by: Arun Swain <arswain@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-t23x/+/2417049 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Santosh Galma <galmar@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: Santosh Galma <galmar@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
Laxman Dewangan
parent
ea84c95dbf
commit
25954c13e6
@@ -167,11 +167,6 @@ void dce_ipc_free_region(struct tegra_dce *d)
|
||||
*/
|
||||
static void dce_ipc_signal_target(struct ivc *ivc)
|
||||
{
|
||||
struct dce_ipc_channel *ch;
|
||||
|
||||
ch = container_of(ivc, struct dce_ipc_channel, d_ivc);
|
||||
|
||||
ch->signal.notify(ch->d, &ch->signal.to_d);
|
||||
}
|
||||
|
||||
static int _dce_ipc_wait(struct tegra_dce *d, u32 w_type, u32 ch_type)
|
||||
@@ -400,6 +395,9 @@ bool dce_ipc_channel_is_ready(struct tegra_dce *d, u32 ch_type)
|
||||
|
||||
ret = (tegra_ivc_channel_notified(&ch->d_ivc) ? false : true);
|
||||
|
||||
if (ret)
|
||||
ch->signal.notify(d, &ch->signal.to_d);
|
||||
|
||||
dce_mutex_unlock(&ch->lock);
|
||||
|
||||
return ret;
|
||||
@@ -426,6 +424,8 @@ void dce_ipc_channel_reset(struct tegra_dce *d, u32 ch_type)
|
||||
|
||||
ch->flags &= ~DCE_IPC_CHANNEL_SYNCED;
|
||||
|
||||
ch->signal.notify(d, &ch->signal.to_d);
|
||||
|
||||
_dce_ipc_wait(ch->d, DCE_IPC_WAIT_TYPE_SYNC, ch_type);
|
||||
|
||||
ch->flags |= DCE_IPC_CHANNEL_SYNCED;
|
||||
|
||||
Reference in New Issue
Block a user