Hi Depeng.
On 8/16/24 15:42, Depeng Shao wrote:
Hi Vladimir,
On 8/16/2024 5:31 AM, Vladimir Zapolskiy wrote:
Hi Depeng.
On 8/15/24 18:43, Depeng Shao wrote:
Hi Vladimir,
Thanks for the confirmation, even though I add the rup_update and
buf_done function in later commits, it is still called in platform
specific code(camss-vfe-780.c), so I will keep as it is done today.
let it be so.
I have another ask about it, please move new camss_reg_update() out from
camss.c into camss-csid.c, and camss_buf_done() from camss.c into camss-
vfe.c
The cross direct call has been removed by below commit, so it looks
strange if I add the cross direct call.
media: qcom: camss: Decouple VFE from CSID
https://lore.kernel.org/lkml/20240522154659.510-9-
quic_grosikop@xxxxxxxxxxx/
This I don't understand, please elaborate. I don't ask for a "cross direct
call", but you do introduce a CSID specific function in the generic camss.c
and another VFE specific function in the same camss.c
CSID calls vfe_get/vfe_put to power up/reset vfe hw in old code, but
above decouple commit removes this cross direct call, this commit has
been merged recently.
Apparently I was imprecise, this is not the thing, which I don't understand,
for me it was the wording of "cross direct call".
What I ask is just move the current versions of camss_buf_done() and
camss_reg_update() out from camss.c to the files, which are related to the
sub-IP blocks, and of course move the function declarations from camss.h
into camss-vfe.h and camss-csid.h respectively.
If possible there shall be no CSID or VFE specific specific code in
camss.c,
and that fact is that it's possible.
Yes, I understand what you mean. Let's take camss_buf_done as example,
if we move camss_buf_done to camss-vfe.c, but this function is called in
csid csid driver, so here will have a cross direct call again,
camss_reg_update is same. Since the cross call is removed in above
commit, then it will be strange if I do this again.
It might be strange, but what I ask is to make the code way less convoluted.
So, I moved them to camss.c
I'm still missing the essence of having two layers of indirection instead
of just one. Previous code was a function call from csid to vfe, now it's
csid to camss to vfe, I don't understand why there is a need to introduce
just an additional layer, it greatly complicates the code, also it slightly
drops the performance.
Previously there was no 'struct vfe_device *' or 'struct csid_device *'
types in the generic camss.c, now these "new" types leaked from camss-csid.h
and camss-vfe.h into camss.c, and the reason why remains unknown.
Okay, please ignore this one review request, let it be kept as is for a while.
As a side note, generally there might be various reasons to revert the code
changes or to return to the previous logic.
Thank you.
--
Best wishes,
Vladimir