Linux-ARM-Kernel Archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@kernel.org>
To: "AngeloGioacchino Del Regno"
	<angelogioacchino.delregno@collabora.com>,
	"Chen-Yu Tsai" <wenst@chromium.org>,
	"Nícolas F. R. A. Prado" <nfraprado@collabora.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
	Hans Verkuil <hverkuil-cisco@xs4all.nl>,
	kernel@collabora.com,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Tiffany Lin <tiffany.lin@mediatek.com>,
	Yunfei Dong <yunfei.dong@mediatek.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	linux-mediatek@lists.infradead.org
Subject: Re: [PATCH v2 3/5] media: mediatek: vcodec: Read HW active status from clock
Date: Mon, 12 Jun 2023 12:19:54 -0700	[thread overview]
Message-ID: <d579dc00ed9877f9daf170134fe781e6.sboyd@kernel.org> (raw)
In-Reply-To: <90781ea3-d43a-6267-278c-184050fe456e@collabora.com>

Quoting AngeloGioacchino Del Regno (2023-06-09 00:42:13)
> Il 09/06/23 01:56, Stephen Boyd ha scritto:
> > Quoting AngeloGioacchino Del Regno (2023-06-08 02:01:58)
> >> Il 08/06/23 10:12, Chen-Yu Tsai ha scritto:
> >>> On Thu, Jun 8, 2023 at 4:57 AM Nícolas F. R. A. Prado
> >>> <nfraprado@collabora.com> wrote:
> >>>> diff --git a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
> >>>> index 9c652beb3f19..8038472fb67b 100644
> >>>> --- a/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
> >>>> +++ b/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c
> >>>
> >>> AFAIK this is still around for clk drivers that haven't moved to clk_hw.
> >>> It shouldn't be used by clock consumers. Would it be better to just pass
> >>> a syscon?
> >>>
> >>
> >> This is a legit usage of __clk_is_enabled().... because that's what we're really
> >> doing here, we're checking if a clock got enabled by the underlying MCU (as that
> >> clock goes up after the VDEC boots).
> >>
> >> If this is *not* acceptable as it is, we will have to add a clock API call to
> >> check if a clock is enabled... but it didn't seem worth doing since we don't
> >> expect anyone else to have any legit usage of that, or at least, we don't know
> >> about anyone else needing that...
> > 
> > The design of the clk.h API has been that no clk consumer should need to
> > find out if a clk is enabled. Instead, the clk consumer should enable
> > the clk if they want it enabled. Is there no other way to know that the
> > vcodec hardware is active?
> > 
> 
> The firmware gives an indication of "boot done", but that's for the "core" part
> of the vcodec... then it manages this clock internally to enable/disable the
> "compute" IP of the decoder.
> 
> As far as I know (and I've been researching about this) the firmware will not
> give any "decoder powered, clocked - ready to get data" indication, and the
> only way that we have to judge whether it is in this specific state or not is
> to check if the "VDEC_ACTIVE" clock got enabled by the firmware.

Is Linux ever going to use clk consumer APIs like clk_enable/clk_disable
on this VDEC_ACTIVE clk? If the answer is no, then there isn't any
reason to put it in the clk framework, and probably syscon is the way to
go for now.

Another approach could be to wait for some amount of time after telling
firmware to power up and assume the hardware is active.

----

I see that the __clk_is_enabled() API is being used in some other
consumer drivers. I think at one point we were down to one or two users.
I'll try to remove this function entirely, but it will still be possible
to get at the clk_hw for a clk with __clk_get_hw() and then call
clk_hw_is_enabled().

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-06-12 19:20 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-07 20:53 [PATCH v2 0/5] Enable decoder for mt8183 Nícolas F. R. A. Prado
2023-06-07 20:53 ` [PATCH v2 1/5] media: dt-bindings: mediatek,vcodec: Don't require assigned-clocks Nícolas F. R. A. Prado
2023-06-21 11:13   ` Alexandre Mergnat
2023-06-07 20:53 ` [PATCH v2 2/5] media: dt-bindings: mediatek,vcodec: Remove VDEC_SYS for mt8183 Nícolas F. R. A. Prado
2023-06-08 16:48   ` Conor Dooley
2023-06-07 20:53 ` [PATCH v2 3/5] media: mediatek: vcodec: Read HW active status from clock Nícolas F. R. A. Prado
2023-06-08  7:34   ` AngeloGioacchino Del Regno
2023-06-08  8:12   ` Chen-Yu Tsai
2023-06-08  9:01     ` AngeloGioacchino Del Regno
2023-06-08 23:56       ` Stephen Boyd
2023-06-09  7:42         ` AngeloGioacchino Del Regno
2023-06-12 19:19           ` Stephen Boyd [this message]
2023-06-14  8:13             ` AngeloGioacchino Del Regno
2023-06-15  0:40               ` Stephen Boyd
2023-06-15  7:30                 ` AngeloGioacchino Del Regno
2023-06-15 17:40                   ` Stephen Boyd
2023-06-19  7:45                     ` AngeloGioacchino Del Regno
2023-06-07 20:53 ` [PATCH v2 4/5] clk: mediatek: mt8183: Add CLK_VDEC_ACTIVE to vdec Nícolas F. R. A. Prado
2023-06-08  7:34   ` AngeloGioacchino Del Regno
2023-06-08  7:43   ` Chen-Yu Tsai
2023-06-08  8:53     ` AngeloGioacchino Del Regno
2023-06-07 20:53 ` [PATCH v2 5/5] arm64: dts: mediatek: mt8183: Add decoder Nícolas F. R. A. Prado
2023-06-08  7:35   ` AngeloGioacchino Del Regno
     [not found] ` <380c6489-7a3c-778b-5b81-6339b6964b90@xs4all.nl>
     [not found]   ` <fda4f196-8466-8290-9072-d80fff367720@collabora.com>
2023-06-12 19:03     ` [PATCH v2 0/5] Enable decoder for mt8183 Nícolas F. R. A. Prado

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d579dc00ed9877f9daf170134fe781e6.sboyd@kernel.org \
    --to=sboyd@kernel.org \
    --cc=andrew-ct.chen@mediatek.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=kernel@collabora.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mchehab@kernel.org \
    --cc=nfraprado@collabora.com \
    --cc=tiffany.lin@mediatek.com \
    --cc=wenst@chromium.org \
    --cc=yunfei.dong@mediatek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).