diff mbox

i2c: omap: Move the remove constraint

Message ID 1352195673-31559-1-git-send-email-shubhrajyoti@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Shubhrajyoti Datta Nov. 6, 2012, 9:54 a.m. UTC
Currently we just queue the transfer and release the
qos constraints, however we donot wait for the transfer
to complete to release the constraint. Move the remove
constraint after the bus busy as we are sure that the
transfers are completed by then.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
---
 drivers/i2c/busses/i2c-omap.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

Comments

Jean Pihet Nov. 6, 2012, 4:24 p.m. UTC | #1
Hi Shubhrajyoti,

On Tue, Nov 6, 2012 at 10:54 AM, Shubhrajyoti D <shubhrajyoti@ti.com> wrote:
> Currently we just queue the transfer and release the
> qos constraints, however we donot wait for the transfer
> to complete to release the constraint. Move the remove
> constraint after the bus busy as we are sure that the
> transfers are completed by then.
>
> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>

Good catch, the change definitely makes sense. Feel free to add:

Acked-by: Jean Pihet <j-pihet@ti.com>

Thanks,
Jean.

> ---
>  drivers/i2c/busses/i2c-omap.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 94ff685..8b079d7 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -655,13 +655,13 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
>                         break;
>         }
>
> -       if (dev->latency)
> -               pm_qos_remove_request(&dev->pm_qos_request);
> -
>         if (r == 0)
>                 r = num;
>
>         omap_i2c_wait_for_bb(dev);
> +
> +       if (dev->latency)
> +               pm_qos_remove_request(&dev->pm_qos_request);
>  out:
>         pm_runtime_mark_last_busy(dev->dev);
>         pm_runtime_put_autosuspend(dev->dev);
> --
> 1.7.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang Nov. 14, 2012, 10:57 a.m. UTC | #2
> > Currently we just queue the transfer and release the
> > qos constraints, however we donot wait for the transfer
> > to complete to release the constraint. Move the remove
> > constraint after the bus busy as we are sure that the
> > transfers are completed by then.
> >
> > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
> 
> Good catch, the change definitely makes sense. Feel free to add:
> 
> Acked-by: Jean Pihet <j-pihet@ti.com>

Since I just reverted the QoS patch, I suppose this gets merged into the
original patch when resent?
Jean Pihet Nov. 14, 2012, 11:03 a.m. UTC | #3
Hi Wolfram, Shubhrajyoti,

On Wed, Nov 14, 2012 at 11:57 AM, Wolfram Sang <w.sang@pengutronix.de> wrote:
>
>> > Currently we just queue the transfer and release the
>> > qos constraints, however we donot wait for the transfer
>> > to complete to release the constraint. Move the remove
>> > constraint after the bus busy as we are sure that the
>> > transfers are completed by then.
>> >
>> > Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
>>
>> Good catch, the change definitely makes sense. Feel free to add:
>>
>> Acked-by: Jean Pihet <j-pihet@ti.com>
>
> Since I just reverted the QoS patch, I suppose this gets merged into the
> original patch when resent?
The best for now is to re-submit a new patch that moves the constraint
release in the original code. Later the PM QoS patch will be applied
on the new code base.

What do you think? I can provide a patch if needed.

Regards,
Jean

>
> --
> Pengutronix e.K.                           | Wolfram Sang                |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Shubhrajyoti Datta Nov. 14, 2012, 11:25 a.m. UTC | #4
On Wednesday 14 November 2012 04:33 PM, Jean Pihet wrote:
>>> Acked-by: Jean Pihet <j-pihet@ti.com>
>> >
>> > Since I just reverted the QoS patch, I suppose this gets merged into the
>> > original patch when resent?
> The best for now is to re-submit a new patch that moves the constraint
> release in the original code. Later the PM QoS patch will be applied
> on the new code base.
>
> What do you think? I can provide a patch if needed.
Will resubmit this.

> Regards,
> Jean
>
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 94ff685..8b079d7 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -655,13 +655,13 @@  omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
 			break;
 	}
 
-	if (dev->latency)
-		pm_qos_remove_request(&dev->pm_qos_request);
-
 	if (r == 0)
 		r = num;
 
 	omap_i2c_wait_for_bb(dev);
+
+	if (dev->latency)
+		pm_qos_remove_request(&dev->pm_qos_request);
 out:
 	pm_runtime_mark_last_busy(dev->dev);
 	pm_runtime_put_autosuspend(dev->dev);