2020-03-25 00:34:39

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [RFC PATCH v5 6/9] media: tegra: Add Tegra210 Video input driver

23.03.2020 20:52, Sowjanya Komatineni пишет:
> +static void tegra_channel_vi_soft_reset(struct tegra_vi_channel *chan)
> +{
> + /* disable clock gating to enable continuous clock */
> + tegra_vi_write(chan, TEGRA_VI_CFG_CG_CTRL, 0);
> + /*
> + * Soft reset memory client interface, pixel format logic, sensor
> + * control logic, and a shadow copy logic to bring VI to clean state.
> + */
> + vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0xf);
> + usleep_range(100, 200);
> + vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0x0);

Is it safe to reset MCCIF without blocking and flushing memory requests
at first?


2020-03-25 01:10:29

by Sowjanya Komatineni

[permalink] [raw]
Subject: Re: [RFC PATCH v5 6/9] media: tegra: Add Tegra210 Video input driver


On 3/24/20 5:34 PM, Dmitry Osipenko wrote:
> External email: Use caution opening links or attachments
>
>
> 23.03.2020 20:52, Sowjanya Komatineni пишет:
>> +static void tegra_channel_vi_soft_reset(struct tegra_vi_channel *chan)
>> +{
>> + /* disable clock gating to enable continuous clock */
>> + tegra_vi_write(chan, TEGRA_VI_CFG_CG_CTRL, 0);
>> + /*
>> + * Soft reset memory client interface, pixel format logic, sensor
>> + * control logic, and a shadow copy logic to bring VI to clean state.
>> + */
>> + vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0xf);
>> + usleep_range(100, 200);
>> + vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0x0);
> Is it safe to reset MCCIF without blocking and flushing memory requests
> at first?
Yes to bring VI to clean state on errors its recommended by HW design team.

2020-03-25 01:16:41

by Sowjanya Komatineni

[permalink] [raw]
Subject: Re: [RFC PATCH v5 6/9] media: tegra: Add Tegra210 Video input driver


On 3/24/20 6:08 PM, Sowjanya Komatineni wrote:
>
> On 3/24/20 5:34 PM, Dmitry Osipenko wrote:
>> External email: Use caution opening links or attachments
>>
>>
>> 23.03.2020 20:52, Sowjanya Komatineni пишет:
>>> +static void tegra_channel_vi_soft_reset(struct tegra_vi_channel *chan)
>>> +{
>>> +     /* disable clock gating to enable continuous clock */
>>> +     tegra_vi_write(chan, TEGRA_VI_CFG_CG_CTRL, 0);
>>> +     /*
>>> +      * Soft reset memory client interface, pixel format logic, sensor
>>> +      * control logic, and a shadow copy logic to bring VI to clean
>>> state.
>>> +      */
>>> +     vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0xf);
>>> +     usleep_range(100, 200);
>>> +     vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0x0);
>> Is it safe to reset MCCIF without blocking and flushing memory requests
>> at first?
> Yes to bring VI to clean state on errors its recommended by HW design
> team.
BTW, just to be clear this is Software reset.

2020-03-25 19:45:08

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [RFC PATCH v5 6/9] media: tegra: Add Tegra210 Video input driver

25.03.2020 04:15, Sowjanya Komatineni пишет:
>
> On 3/24/20 6:08 PM, Sowjanya Komatineni wrote:
>>
>> On 3/24/20 5:34 PM, Dmitry Osipenko wrote:
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> 23.03.2020 20:52, Sowjanya Komatineni пишет:
>>>> +static void tegra_channel_vi_soft_reset(struct tegra_vi_channel *chan)
>>>> +{
>>>> +     /* disable clock gating to enable continuous clock */
>>>> +     tegra_vi_write(chan, TEGRA_VI_CFG_CG_CTRL, 0);
>>>> +     /*
>>>> +      * Soft reset memory client interface, pixel format logic, sensor
>>>> +      * control logic, and a shadow copy logic to bring VI to clean
>>>> state.
>>>> +      */
>>>> +     vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0xf);
>>>> +     usleep_range(100, 200);
>>>> +     vi_csi_write(chan, TEGRA_VI_CSI_SW_RESET, 0x0);
>>> Is it safe to reset MCCIF without blocking and flushing memory requests
>>> at first?
>> Yes to bring VI to clean state on errors its recommended by HW design
>> team.
> BTW, just to be clear this is Software reset.

Ok