Skip any further processing of taal_enable_te(), taal_rotate(), and
taal_mirror() if value remains unchanged.
Signed-off-by: Jani Nikula <ext-jani.1.nikula@nokia.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
        int r;
 
        mutex_lock(&td->lock);
+
+       if (td->te_enabled == enable)
+               goto end;
+
        dsi_bus_lock();
 
        if (td->enabled) {
        td->te_enabled = enable;
 
        dsi_bus_unlock();
+end:
        mutex_unlock(&td->lock);
 
        return 0;
        dev_dbg(&dssdev->dev, "rotate %d\n", rotate);
 
        mutex_lock(&td->lock);
+
+       if (td->rotate == rotate)
+               goto end;
+
        dsi_bus_lock();
 
        if (td->enabled) {
        td->rotate = rotate;
 
        dsi_bus_unlock();
+end:
        mutex_unlock(&td->lock);
        return 0;
 err:
        dev_dbg(&dssdev->dev, "mirror %d\n", enable);
 
        mutex_lock(&td->lock);
+
+       if (td->mirror == enable)
+               goto end;
+
        dsi_bus_lock();
        if (td->enabled) {
                r = taal_set_addr_mode(td->rotate, enable);
        td->mirror = enable;
 
        dsi_bus_unlock();
+end:
        mutex_unlock(&td->lock);
        return 0;
 err: