[PATCH] drm/panfrost: Skip speed binning on EOPNOTSUPP

Steven Price steven.price at arm.com
Mon Aug 21 14:45:40 UTC 2023


On 16/08/2023 10:45, Steven Price wrote:
> On 16/08/2023 02:42, David Michael wrote:
>> Encountered on an ARM Mali-T760 MP4, attempting to read the nvmem
>> variable can also return EOPNOTSUPP instead of ENOENT when speed
>> binning is unsupported.
>>
>> Cc: <stable at vger.kernel.org>
>> Fixes: 7d690f936e9b ("drm/panfrost: Add basic support for speed binning")
>> Signed-off-by: David Michael <fedora.dm0 at gmail.com>
> 
> Reviewed-by: Steven Price <steven.price at arm.com>

And pushed to drm-misc-fixes.

Thanks,

Steve

>> ---
>>
>> Hi,
>>
>> I upgraded an old Chromebook (veyron-minnie) to 6.4, and it fell back to
>> software rendering with "Cannot read speed-bin (-95)." in dmesg.  Does
>> this error code also make sense to skip?  Hardware acceleration seems to
>> work as it did previously with this change.
> 
> I believe this is because the kernel is compiled without CONFIG_NVMEM so
> the stub function is returning EOPNOTSUPP.
> 
> Since most platforms don't support speed binning just continuing is the
> correct approach on those. For platforms with speed binning this means
> the binning won't be applied if !CONFIG_NVMEM - but I don't think
> there's much we can do about that.
> 
> Steve
> 
>>
>> Thanks.
>>
>> David
>>
>>  drivers/gpu/drm/panfrost/panfrost_devfreq.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/panfrost/panfrost_devfreq.c b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
>> index 58dfb15a8757..e78de99e9933 100644
>> --- a/drivers/gpu/drm/panfrost/panfrost_devfreq.c
>> +++ b/drivers/gpu/drm/panfrost/panfrost_devfreq.c
>> @@ -96,7 +96,7 @@ static int panfrost_read_speedbin(struct device *dev)
>>  		 * keep going without it; any other error means that we are
>>  		 * supposed to read the bin value, but we failed doing so.
>>  		 */
>> -		if (ret != -ENOENT) {
>> +		if (ret != -ENOENT && ret != -EOPNOTSUPP) {
>>  			DRM_DEV_ERROR(dev, "Cannot read speed-bin (%d).", ret);
>>  			return ret;
>>  		}
> 



More information about the dri-devel mailing list