diff mbox

drm/i915/audio: Fix audio detection issue on GLK

Message ID 1523989338-29677-1-git-send-email-gaurav.k.singh@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Gaurav K Singh April 17, 2018, 6:22 p.m. UTC
On Geminilake, sometimes audio card is not getting
detected after reboot. This is a spurious issue happening on
Geminilake. HW codec and HD audio controller link was going
out of sync for which there was a fix in i915 driver but
was not getting invoked for GLK. Extending this fix to GLK as well.

Tested by Du,Wenkai on GLK board.

Bspec: 21829

v2: Instead of checking GEN9_BC, BXT and GLK macros, use IS_GEN9 macro (Jani N)

Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
Reviewed-by: Abhay Kumar <abhay.Kumar@intel.com>
---
 drivers/gpu/drm/i915/intel_audio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Du, Wenkai April 17, 2018, 6:28 p.m. UTC | #1
On 4/17/2018 11:22 AM, Gaurav K Singh wrote:
> On Geminilake, sometimes audio card is not getting
> detected after reboot. This is a spurious issue happening on
> Geminilake. HW codec and HD audio controller link was going
> out of sync for which there was a fix in i915 driver but
> was not getting invoked for GLK. Extending this fix to GLK as well.
>
> Tested by Du,Wenkai on GLK board.
>
> Bspec: 21829
>
> v2: Instead of checking GEN9_BC, BXT and GLK macros, use IS_GEN9 macro (Jani N)
>
> Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
> Reviewed-by: Abhay Kumar <abhay.Kumar@intel.com>
Reviewed-by: Wenkai Du <wenkai.du@intel.com>
Tested-by: Wenkai Du <wenkai.du@intel.com>


Regards,
Wenkai
> ---
>   drivers/gpu/drm/i915/intel_audio.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
> index 656f6c931341..3ea566f99450 100644
> --- a/drivers/gpu/drm/i915/intel_audio.c
> +++ b/drivers/gpu/drm/i915/intel_audio.c
> @@ -729,7 +729,7 @@ static void i915_audio_component_codec_wake_override(struct device *kdev,
>   	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
>   	u32 tmp;
>   
> -	if (!IS_GEN9_BC(dev_priv) && !IS_BROXTON(dev_priv))
> +	if (!IS_GEN9(dev_priv))
>   		return;
>   
>   	i915_audio_component_get_power(kdev);
Gaurav K Singh April 18, 2018, 6:04 a.m. UTC | #2
On 4/17/2018 11:58 PM, Du,Wenkai wrote:
>
> On 4/17/2018 11:22 AM, Gaurav K Singh wrote:
>> On Geminilake, sometimes audio card is not getting
>> detected after reboot. This is a spurious issue happening on
>> Geminilake. HW codec and HD audio controller link was going
>> out of sync for which there was a fix in i915 driver but
>> was not getting invoked for GLK. Extending this fix to GLK as well.
>>
>> Tested by Du,Wenkai on GLK board.
>>
>> Bspec: 21829
>>
>> v2: Instead of checking GEN9_BC, BXT and GLK macros, use IS_GEN9 
>> macro (Jani N)
>>
>> Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
>> Reviewed-by: Abhay Kumar <abhay.Kumar@intel.com>
> Reviewed-by: Wenkai Du <wenkai.du@intel.com>
> Tested-by: Wenkai Du <wenkai.du@intel.com>
>
>
> Regards,
> Wenkai
Hi Jani,

Could you please help in merging this patch to unblock audio.

With regards,
Gaurav
>> ---
>>   drivers/gpu/drm/i915/intel_audio.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_audio.c 
>> b/drivers/gpu/drm/i915/intel_audio.c
>> index 656f6c931341..3ea566f99450 100644
>> --- a/drivers/gpu/drm/i915/intel_audio.c
>> +++ b/drivers/gpu/drm/i915/intel_audio.c
>> @@ -729,7 +729,7 @@ static void 
>> i915_audio_component_codec_wake_override(struct device *kdev,
>>       struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
>>       u32 tmp;
>>   -    if (!IS_GEN9_BC(dev_priv) && !IS_BROXTON(dev_priv))
>> +    if (!IS_GEN9(dev_priv))
>>           return;
>>         i915_audio_component_get_power(kdev);
Jani Nikula April 18, 2018, 8:07 a.m. UTC | #3
On Wed, 18 Apr 2018, "Singh, Gaurav K" <gaurav.k.singh@intel.com> wrote:
> On 4/17/2018 11:58 PM, Du,Wenkai wrote:
>>
>> On 4/17/2018 11:22 AM, Gaurav K Singh wrote:
>>> On Geminilake, sometimes audio card is not getting
>>> detected after reboot. This is a spurious issue happening on
>>> Geminilake. HW codec and HD audio controller link was going
>>> out of sync for which there was a fix in i915 driver but
>>> was not getting invoked for GLK. Extending this fix to GLK as well.
>>>
>>> Tested by Du,Wenkai on GLK board.
>>>
>>> Bspec: 21829
>>>
>>> v2: Instead of checking GEN9_BC, BXT and GLK macros, use IS_GEN9 
>>> macro (Jani N)
>>>
>>> Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
>>> Reviewed-by: Abhay Kumar <abhay.Kumar@intel.com>
>> Reviewed-by: Wenkai Du <wenkai.du@intel.com>
>> Tested-by: Wenkai Du <wenkai.du@intel.com>
>>
>>
>> Regards,
>> Wenkai
> Hi Jani,
>
> Could you please help in merging this patch to unblock audio.

Pushed, thanks for the patch and review.

Added Cc: stable, with a dependency on b651bd2a3ae3 ("drm/i915/audio:
Fix audio enumeration issue on BXT") to be backported as well.

BR,
Jani.

>
> With regards,
> Gaurav
>>> ---
>>>   drivers/gpu/drm/i915/intel_audio.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_audio.c 
>>> b/drivers/gpu/drm/i915/intel_audio.c
>>> index 656f6c931341..3ea566f99450 100644
>>> --- a/drivers/gpu/drm/i915/intel_audio.c
>>> +++ b/drivers/gpu/drm/i915/intel_audio.c
>>> @@ -729,7 +729,7 @@ static void 
>>> i915_audio_component_codec_wake_override(struct device *kdev,
>>>       struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
>>>       u32 tmp;
>>>   -    if (!IS_GEN9_BC(dev_priv) && !IS_BROXTON(dev_priv))
>>> +    if (!IS_GEN9(dev_priv))
>>>           return;
>>>         i915_audio_component_get_power(kdev);
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
index 656f6c931341..3ea566f99450 100644
--- a/drivers/gpu/drm/i915/intel_audio.c
+++ b/drivers/gpu/drm/i915/intel_audio.c
@@ -729,7 +729,7 @@  static void i915_audio_component_codec_wake_override(struct device *kdev,
 	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
 	u32 tmp;
 
-	if (!IS_GEN9_BC(dev_priv) && !IS_BROXTON(dev_priv))
+	if (!IS_GEN9(dev_priv))
 		return;
 
 	i915_audio_component_get_power(kdev);