Re: [PATCH V3 5/6] slimbus: Add support for 'clock-pause' feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi Mark,

On 8/14/2015 12:39 PM, Mark Brown wrote:
On Mon, Aug 03, 2015 at 12:59:49AM -0600, Sagar Dharia wrote:

@@ -459,6 +459,8 @@ int slim_register_controller(struct slim_controller *ctrl)
  	mutex_init(&ctrl->m_ctrl);
  	spin_lock_init(&ctrl->tx.lock);
  	spin_lock_init(&ctrl->rx.lock);
+	mutex_init(&ctrl->sched.m_reconf);
+	init_completion(&ctrl->sched.pause_comp);
Should there not be more interaction with the rest of the framework on
clock pauses - the bus will need to be started to do transfers for
example?

I'm relying on controller's pm_runtime as you pointed out for entering/exiting clock-pause. The reason to initiate clock-pause from controller was more on the lines of clock-pause sequence being expensive, and tight coupling between controller/framer-clocks and clock-pause. Three reconfiguration-transfer-commands have to be broadcast on the lines to enter clock-pause, and exiting it is needs 'wakeup' callback for controller.
Doing this per transfer will be a big overhead.
Using pm_runtime's autosuspend feature allows the controller-device to enter clock-pause after periods of inactivity to avoid thrashing. As a trade-off, I am proposing that controller should initiate clock-pause from its pm_runtime callbacks, and framework should provide the means to do it. Also, typically clocks of the controller are coupled with clock-pause and clocks cannot be turned off until the clock-pause sequence is sent on the bus since framer has to keep clocking the bus.

Thanks
Sagar


+#include <linux/slimbus.h>
+/**
Missing blank line.

+ * slim_ctrl_clk_pause: Called by slimbus controller to enter/exit 'clock pause'
Is the controller the best place to initiate bus pausing?  It's
surprising to me that it would be, the bus being idle isn't something
that needs controller specific knowledge so I'd expect the framework to
have standard support for this.


--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux