[PATCH 2/4] gpu: host1x: Enable gather filter
Mikko Perttunen
cyndis at kapsi.fi
Mon Aug 21 17:28:16 UTC 2017
On 08/21/2017 08:27 PM, Mikko Perttunen wrote:
>
>
> On 08/20/2017 07:59 PM, Dmitry Osipenko wrote:
>> On 20.08.2017 19:44, Dmitry Osipenko wrote:
>>> On 20.08.2017 19:24, Dmitry Osipenko wrote:
>>>> On 18.08.2017 19:15, Mikko Perttunen wrote:
>>>>> The gather filter is a feature present on Tegra124 and newer where the
>>>>> hardware prevents GATHERed command buffers from executing commands
>>>>> normally reserved for the CDMA pushbuffer which is maintained by the
>>>>> kernel driver.
>>>>>
>>>>> This commit enables the gather filter on all supporting hardware.
>>>>>
>>>>> Signed-off-by: Mikko Perttunen <mperttunen at nvidia.com>
>>>>> ---
>>>>> drivers/gpu/host1x/hw/channel_hw.c | 22
>>>>> ++++++++++++++++++++++
>>>>> drivers/gpu/host1x/hw/hw_host1x04_channel.h | 12 ++++++++++++
>>>>> drivers/gpu/host1x/hw/hw_host1x05_channel.h | 12 ++++++++++++
>>>>> 3 files changed, 46 insertions(+)
>>>>>
>>>>> diff --git a/drivers/gpu/host1x/hw/channel_hw.c
>>>>> b/drivers/gpu/host1x/hw/channel_hw.c
>>>>> index 0161da331702..5c0dc6bb51d1 100644
>>>>> --- a/drivers/gpu/host1x/hw/channel_hw.c
>>>>> +++ b/drivers/gpu/host1x/hw/channel_hw.c
>>>>> @@ -181,10 +181,32 @@ static int channel_submit(struct host1x_job
>>>>> *job)
>>>>> return err;
>>>>> }
>>>>> +static void enable_gather_filter(struct host1x *host,
>>>>> + struct host1x_channel *ch)
>>>>> +{
>>>>> +#if HOST1X_HW >= 6
>>>>> + u32 val;
>>>>> +
>>>>> + if (!host->hv_regs)
>>>>> + return;
>>>>
>>>> Is it really possible that gather filter could be not present on HW
>>>> without
>>>> hypervisor? Maybe there is other way to enable it in that case?
>
> The hardware may have the hypervisor but Linux may be running as a
> virtual machine without access to the hypervisor, in which case we
> cannot access the registers, and it's the responsibility of the other OS
> acting as hypervisor to enable the gather filter.
>
>>>>
>>>> Is possible at all that hypervisor could be missed?
>>>
>>> BTW, this is also incoherent with the 'syncpoint protection' patch
>>> which doesn't
>>> check for hypervisor presence.
>>>
>>
>> However, I noticed that check and it's wrongly placed ;) See comment
>> to the
>> 'syncpoint protection' patch.
Also - thanks, I added the missing check to that patch :)
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the dri-devel
mailing list