On Tue, Aug 13, 2019 at 11:36:56AM -0500, Jassi Brar wrote: [...] > > >> > > >> As mentioned in the response to your initial comment, the driver does > > >> not currently support mixing protocols. > > >> > > > Thanks for acknowledging that limitation. But lets also address it. > > > > > > > We are hesitant to dedicate time to developing mixing protocols given > > that we don't have any current usecase nor any current platform which > > would support this. > > > Can you please share the client code against which you tested this driver? > From my past experience, I realise it is much more efficient to tidyup > the code myself, than endlessly trying to explain the benefits. > Thanks for the patience and offer. Can we try the same with MHUv1 and SCMI upstream driver. The firmware just uses High Priority physical channel bit 0 and 2 as Tx and bit 1 and 3 as Rx. Bit 2 and 3 are for perf which shouldn't get blocked by bit 0 and 1. I mean I can have 10 requests covering clocks/sensors and others on bit 0 and 1, but the bits 2 and 3 are dedicated for DVFS and shouldn't be blocked because of other non DVFS requests. The DT looks something like this(modified MHU binding for 2 cells) mailbox: mhu@2b1f0000 { compatible = "arm,primecell"; reg = <0x0 0x2b1f0000 0x0 0x1000>; interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "mhu_lpri_rx", "mhu_hpri_rx"; #mbox-cells = <2>; mbox-name = "ARM-MHU"; clocks = <&soc_refclk100mhz>; clock-names = "apb_pclk"; }; firmware { scmi { compatible = "arm,scmi"; mbox-names = "tx", "rx"; mboxes = <&mailbox 0 0 &mailbox 0 1>; #address-cells = <1>; #size-cells = <0>; scmi_devpd: protocol@11 { reg = <0x11>; #power-domain-cells = <1>; }; scmi_dvfs: protocol@13 { reg = <0x13>; #clock-cells = <1>; mbox-names = "tx", "rx"; mboxes = <&mailbox 0 2 &mailbox 0 3>; }; scmi_clk: protocol@14 { reg = <0x14>; #clock-cells = <1>; }; scmi_sensors0: protocol@15 { reg = <0x15>; #thermal-sensor-cells = <1>; }; }; }; -- Regards, Sudeep