Message ID | 1584092066-24425-1-git-send-email-henryc.chen@mediatek.com (mailing list archive) |
---|---|
Headers | show |
Series | Add driver for dvfsrc, support for active state of scpsys | expand |
On Fri, Mar 13, 2020 at 05:34:24PM +0800, Henry Chen wrote: > +- regulator : The DVFSRC regulator is modelled as a subdevice of the DVFSRC. > + Because DVFSRC can request power directly via register read/write, likes > + vcore which is a core power of mt8183. As such, the DVFSRC regulator > + requires that DVFSRC nodes be present. shall contain only one of the > + following: "mediatek,mt8183-dvfsrc-regulator" Why do we even need a compatible here - it's not adding any new information to the parent mt8183 node, the compatible is mainly for the way Linux divides things up rather than a description of the hardware. We could just say that the regulator node always has a particular name instead. It's also not quite true that it contains "only" the compatible - it also allows the regulator constraints to be defined.
Hi Mark, On Tue, 2020-03-24 at 20:38 +0000, Mark Brown wrote: > On Fri, Mar 13, 2020 at 05:34:24PM +0800, Henry Chen wrote: > > > +- regulator : The DVFSRC regulator is modelled as a subdevice of the DVFSRC. > > + Because DVFSRC can request power directly via register read/write, likes > > + vcore which is a core power of mt8183. As such, the DVFSRC regulator > > + requires that DVFSRC nodes be present. shall contain only one of the > > + following: "mediatek,mt8183-dvfsrc-regulator" > > Why do we even need a compatible here - it's not adding any new > information to the parent mt8183 node, the compatible is mainly for the > way Linux divides things up rather than a description of the hardware. > We could just say that the regulator node always has a particular name > instead. Sorry, not quite sure what you mean, because I think DVFSRC is a regulator provider that can provide vcore voltage control on mt8183, and it can provide more power control in the next generation Mediatek SOC. Here I add a sub-node to describe it. Or should I move this node to regulator folder? > > It's also not quite true that it contains "only" the compatible - it > also allows the regulator constraints to be defined.
Hi Henry, On 3/13/20 11:34, Henry Chen wrote: > The patchsets add support for MediaTek hardware module named DVFSRC > (dynamic voltage and frequency scaling resource collector). The DVFSRC is > a HW module which is used to collect all the requests from both software > and hardware and turn into the decision of minimum operating voltage and > minimum DRAM frequency to fulfill those requests. > > So, This series is to implement the dvfsrc driver to collect all the > requests of operating voltage or DRAM bandwidth from other device drivers > likes GPU/Camera through 3 frameworks basically: > > 1. interconnect framework: to aggregate the bandwidth > requirements from different clients > > [1] https://patchwork.kernel.org/cover/10766329/ > > Below is the emi bandwidth map of mt8183. There has a hw module "DRAM scheduler" > which used to control the throughput. The DVFSRC will collect forecast data > of dram bandwidth from SW consumers(camera/gpu...), and according the forecast > to change the DRAM frequency > > ICC provider ICC Nodes > ---- ---- > --------- |CPU | |--->|VPU | > ----- | |-----> ---- | ---- > |DRAM |--|DRAM | ---- | ---- > | |--|scheduler|----->|GPU | |--->|DISP| > | |--|(EMI) | ---- | ---- > | |--| | ----- | ---- > ----- | |----->|MMSYS|--|--->|VDEC| > --------- ----- | ---- > /|\ | ---- > |change DRAM freq |--->|VENC| > ---------- | ---- > | DVFSR | | > | | | ---- > ---------- |--->|IMG | > | ---- > | ---- > |--->|CAM | > ---- It would be useful to also add the above diagram into the commit text of patch 09/13. By doing so, it will be saved into the history, as cover letters are discarded. Thanks, Georgi
Hi Georgi, On Wed, 2020-04-01 at 18:09 +0300, Georgi Djakov wrote: > Hi Henry, > > On 3/13/20 11:34, Henry Chen wrote: > > The patchsets add support for MediaTek hardware module named DVFSRC > > (dynamic voltage and frequency scaling resource collector). The DVFSRC is > > a HW module which is used to collect all the requests from both software > > and hardware and turn into the decision of minimum operating voltage and > > minimum DRAM frequency to fulfill those requests. > > > > So, This series is to implement the dvfsrc driver to collect all the > > requests of operating voltage or DRAM bandwidth from other device drivers > > likes GPU/Camera through 3 frameworks basically: > > > > 1. interconnect framework: to aggregate the bandwidth > > requirements from different clients > > > > [1] https://patchwork.kernel.org/cover/10766329/ > > > > Below is the emi bandwidth map of mt8183. There has a hw module "DRAM scheduler" > > which used to control the throughput. The DVFSRC will collect forecast data > > of dram bandwidth from SW consumers(camera/gpu...), and according the forecast > > to change the DRAM frequency > > > > ICC provider ICC Nodes > > ---- ---- > > --------- |CPU | |--->|VPU | > > ----- | |-----> ---- | ---- > > |DRAM |--|DRAM | ---- | ---- > > | |--|scheduler|----->|GPU | |--->|DISP| > > | |--|(EMI) | ---- | ---- > > | |--| | ----- | ---- > > ----- | |----->|MMSYS|--|--->|VDEC| > > --------- ----- | ---- > > /|\ | ---- > > |change DRAM freq |--->|VENC| > > ---------- | ---- > > | DVFSR | | > > | | | ---- > > ---------- |--->|IMG | > > | ---- > > | ---- > > |--->|CAM | > > ---- > > It would be useful to also add the above diagram into the commit text of > patch 09/13. By doing so, it will be saved into the history, as cover letters > are discarded. OK, thanks. > > Thanks, > Georgi > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek