mbox series

[0/9] Input: synaptics-rmi4 - Bootloader v7/v8 firmware update improvements

Message ID 20220608124808.51402-1-matthias.schiffer@ew.tq-group.com (mailing list archive)
Headers show
Series Input: synaptics-rmi4 - Bootloader v7/v8 firmware update improvements | expand

Message

Matthias Schiffer June 8, 2022, 12:47 p.m. UTC
This fixes the firmware update function with bootloader v8, allows to
recover from interrupted updates with v7/v8, and does some code cleanup.

I believe that the code that allows to recover from a broken partition
table is also necessary to make flashing a different partition table
work at all, but I wasn't able to verify that, as I don't have any firmware
images with different partition tables to test with. In any case, I'm
pretty sure that it is working correctly now, as recovery from a mostly
empty flash without partition table has been tested successfully.

I have only tested the new code with bootloader v8, and I don't have the
documentation / interfacing guide for v7, so it would be great if anyone
could check that I didn't break updates for v7.


Matthias Schiffer (9):
  Input: synaptics-rmi4 - fix firmware update operations with bootloader
    v8
  Input: synaptics-rmi4 - introduce rmi_f34v7_check_command_status()
    helper
  Input: synaptics-rmi4 - fix command completion check for bootloader
    v7/v8
  Input: synaptics-rmi4 - rewrite partition table unconditionally
  Input: synaptics-rmi4 - reset after writing partition table
  Input: synaptics-rmi4 - make rmi_f34v7_erase_all() use the "erase all"
    command
  Input: synaptics-rmi4 - remove unneeded struct register_offset
  Input: synaptics-rmi4 - simplify rmi_f34v7_start_reflash()
  Input: synaptics-rmi4 - drop useless gotos in rmi_f34v7_do_reflash()

 drivers/input/rmi4/rmi_f34.c   |  16 +-
 drivers/input/rmi4/rmi_f34.h   |  17 --
 drivers/input/rmi4/rmi_f34v7.c | 349 +++++++--------------------------
 3 files changed, 81 insertions(+), 301 deletions(-)

Comments

Matthias Schiffer June 27, 2022, 8:31 a.m. UTC | #1
On Wed, 2022-06-08 at 14:47 +0200, Matthias Schiffer wrote:
> This fixes the firmware update function with bootloader v8, allows to
> recover from interrupted updates with v7/v8, and does some code cleanup.
> 
> I believe that the code that allows to recover from a broken partition
> table is also necessary to make flashing a different partition table
> work at all, but I wasn't able to verify that, as I don't have any firmware
> images with different partition tables to test with. In any case, I'm
> pretty sure that it is working correctly now, as recovery from a mostly
> empty flash without partition table has been tested successfully.
> 
> I have only tested the new code with bootloader v8, and I don't have the
> documentation / interfacing guide for v7, so it would be great if anyone
> could check that I didn't break updates for v7.

Hi everyone,

any news regarding this patch series?


Kind regards,
Matthias



> 
> 
> Matthias Schiffer (9):
>   Input: synaptics-rmi4 - fix firmware update operations with bootloader
>     v8
>   Input: synaptics-rmi4 - introduce rmi_f34v7_check_command_status()
>     helper
>   Input: synaptics-rmi4 - fix command completion check for bootloader
>     v7/v8
>   Input: synaptics-rmi4 - rewrite partition table unconditionally
>   Input: synaptics-rmi4 - reset after writing partition table
>   Input: synaptics-rmi4 - make rmi_f34v7_erase_all() use the "erase all"
>     command
>   Input: synaptics-rmi4 - remove unneeded struct register_offset
>   Input: synaptics-rmi4 - simplify rmi_f34v7_start_reflash()
>   Input: synaptics-rmi4 - drop useless gotos in rmi_f34v7_do_reflash()
> 
>  drivers/input/rmi4/rmi_f34.c   |  16 +-
>  drivers/input/rmi4/rmi_f34.h   |  17 --
>  drivers/input/rmi4/rmi_f34v7.c | 349 +++++++--------------------------
>  3 files changed, 81 insertions(+), 301 deletions(-)
>
Matthias Schiffer Aug. 15, 2022, 7:43 a.m. UTC | #2
On Mon, 2022-06-27 at 10:31 +0200, Matthias Schiffer wrote:
> On Wed, 2022-06-08 at 14:47 +0200, Matthias Schiffer wrote:
> > This fixes the firmware update function with bootloader v8, allows to
> > recover from interrupted updates with v7/v8, and does some code cleanup.
> > 
> > I believe that the code that allows to recover from a broken partition
> > table is also necessary to make flashing a different partition table
> > work at all, but I wasn't able to verify that, as I don't have any firmware
> > images with different partition tables to test with. In any case, I'm
> > pretty sure that it is working correctly now, as recovery from a mostly
> > empty flash without partition table has been tested successfully.
> > 
> > I have only tested the new code with bootloader v8, and I don't have the
> > documentation / interfacing guide for v7, so it would be great if anyone
> > could check that I didn't break updates for v7.
> 
> Hi everyone,
> 
> any news regarding this patch series?
> 
> 
> Kind regards,
> Matthias

Ping - can we get this applied, or at least any kind of feedback?


Kind regards,
Matthias



> 
> 
> 
> > 
> > Matthias Schiffer (9):
> >   Input: synaptics-rmi4 - fix firmware update operations with bootloader
> >     v8
> >   Input: synaptics-rmi4 - introduce rmi_f34v7_check_command_status()
> >     helper
> >   Input: synaptics-rmi4 - fix command completion check for bootloader
> >     v7/v8
> >   Input: synaptics-rmi4 - rewrite partition table unconditionally
> >   Input: synaptics-rmi4 - reset after writing partition table
> >   Input: synaptics-rmi4 - make rmi_f34v7_erase_all() use the "erase all"
> >     command
> >   Input: synaptics-rmi4 - remove unneeded struct register_offset
> >   Input: synaptics-rmi4 - simplify rmi_f34v7_start_reflash()
> >   Input: synaptics-rmi4 - drop useless gotos in rmi_f34v7_do_reflash()
> > 
> >  drivers/input/rmi4/rmi_f34.c   |  16 +-
> >  drivers/input/rmi4/rmi_f34.h   |  17 --
> >  drivers/input/rmi4/rmi_f34v7.c | 349 +++++++--------------------------
> >  3 files changed, 81 insertions(+), 301 deletions(-)
> >
Matthias Schiffer Sept. 15, 2022, 8:02 a.m. UTC | #3
On Mon, 2022-08-15 at 09:43 +0200, Matthias Schiffer wrote:
> On Mon, 2022-06-27 at 10:31 +0200, Matthias Schiffer wrote:
> > On Wed, 2022-06-08 at 14:47 +0200, Matthias Schiffer wrote:
> > > This fixes the firmware update function with bootloader v8, allows to
> > > recover from interrupted updates with v7/v8, and does some code cleanup.
> > > 
> > > I believe that the code that allows to recover from a broken partition
> > > table is also necessary to make flashing a different partition table
> > > work at all, but I wasn't able to verify that, as I don't have any firmware
> > > images with different partition tables to test with. In any case, I'm
> > > pretty sure that it is working correctly now, as recovery from a mostly
> > > empty flash without partition table has been tested successfully.
> > > 
> > > I have only tested the new code with bootloader v8, and I don't have the
> > > documentation / interfacing guide for v7, so it would be great if anyone
> > > could check that I didn't break updates for v7.
> > 
> > Hi everyone,
> > 
> > any news regarding this patch series?
> > 
> > 
> > Kind regards,
> > Matthias
> 
> Ping - can we get this applied, or at least any kind of feedback?
> 
> 
> Kind regards,
> Matthias


Ping - another month has passed.

Should I resend the series? Not much has happened in the RMI4 driver,
so the patches still apply cleanly to latest linux-next.

Kind regards,
Matthias



> 
> 
> 
> > 
> > 
> > > Matthias Schiffer (9):
> > >   Input: synaptics-rmi4 - fix firmware update operations with bootloader
> > >     v8
> > >   Input: synaptics-rmi4 - introduce rmi_f34v7_check_command_status()
> > >     helper
> > >   Input: synaptics-rmi4 - fix command completion check for bootloader
> > >     v7/v8
> > >   Input: synaptics-rmi4 - rewrite partition table unconditionally
> > >   Input: synaptics-rmi4 - reset after writing partition table
> > >   Input: synaptics-rmi4 - make rmi_f34v7_erase_all() use the "erase all"
> > >     command
> > >   Input: synaptics-rmi4 - remove unneeded struct register_offset
> > >   Input: synaptics-rmi4 - simplify rmi_f34v7_start_reflash()
> > >   Input: synaptics-rmi4 - drop useless gotos in rmi_f34v7_do_reflash()
> > > 
> > >  drivers/input/rmi4/rmi_f34.c   |  16 +-
> > >  drivers/input/rmi4/rmi_f34.h   |  17 --
> > >  drivers/input/rmi4/rmi_f34v7.c | 349 +++++++--------------------------
> > >  3 files changed, 81 insertions(+), 301 deletions(-)
> > >
Lyude Paul Sept. 16, 2022, 10:39 p.m. UTC | #4
Would my review count at all here? I hadn't reviewed until now because I
wasn't sure it would, but I'm happy to take a look if you think that'd help.

On Thu, 2022-09-15 at 10:02 +0200, Matthias Schiffer wrote:
> On Mon, 2022-08-15 at 09:43 +0200, Matthias Schiffer wrote:
> > On Mon, 2022-06-27 at 10:31 +0200, Matthias Schiffer wrote:
> > > On Wed, 2022-06-08 at 14:47 +0200, Matthias Schiffer wrote:
> > > > This fixes the firmware update function with bootloader v8, allows to
> > > > recover from interrupted updates with v7/v8, and does some code cleanup.
> > > > 
> > > > I believe that the code that allows to recover from a broken partition
> > > > table is also necessary to make flashing a different partition table
> > > > work at all, but I wasn't able to verify that, as I don't have any firmware
> > > > images with different partition tables to test with. In any case, I'm
> > > > pretty sure that it is working correctly now, as recovery from a mostly
> > > > empty flash without partition table has been tested successfully.
> > > > 
> > > > I have only tested the new code with bootloader v8, and I don't have the
> > > > documentation / interfacing guide for v7, so it would be great if anyone
> > > > could check that I didn't break updates for v7.
> > > 
> > > Hi everyone,
> > > 
> > > any news regarding this patch series?
> > > 
> > > 
> > > Kind regards,
> > > Matthias
> > 
> > Ping - can we get this applied, or at least any kind of feedback?
> > 
> > 
> > Kind regards,
> > Matthias
> 
> 
> Ping - another month has passed.
> 
> Should I resend the series? Not much has happened in the RMI4 driver,
> so the patches still apply cleanly to latest linux-next.
> 
> Kind regards,
> Matthias
> 
> 
> 
> > 
> > 
> > 
> > > 
> > > 
> > > > Matthias Schiffer (9):
> > > >   Input: synaptics-rmi4 - fix firmware update operations with bootloader
> > > >     v8
> > > >   Input: synaptics-rmi4 - introduce rmi_f34v7_check_command_status()
> > > >     helper
> > > >   Input: synaptics-rmi4 - fix command completion check for bootloader
> > > >     v7/v8
> > > >   Input: synaptics-rmi4 - rewrite partition table unconditionally
> > > >   Input: synaptics-rmi4 - reset after writing partition table
> > > >   Input: synaptics-rmi4 - make rmi_f34v7_erase_all() use the "erase all"
> > > >     command
> > > >   Input: synaptics-rmi4 - remove unneeded struct register_offset
> > > >   Input: synaptics-rmi4 - simplify rmi_f34v7_start_reflash()
> > > >   Input: synaptics-rmi4 - drop useless gotos in rmi_f34v7_do_reflash()
> > > > 
> > > >  drivers/input/rmi4/rmi_f34.c   |  16 +-
> > > >  drivers/input/rmi4/rmi_f34.h   |  17 --
> > > >  drivers/input/rmi4/rmi_f34v7.c | 349 +++++++--------------------------
> > > >  3 files changed, 81 insertions(+), 301 deletions(-)
> > > > 
>
Dmitry Torokhov Sept. 16, 2022, 10:50 p.m. UTC | #5
On Fri, Sep 16, 2022 at 06:39:18PM -0400, Lyude Paul wrote:
> Would my review count at all here? I hadn't reviewed until now because I
> wasn't sure it would, but I'm happy to take a look if you think that'd help.

Absolutely. All reviews count, and they also show that there is interest
in the patches/new functionality.

Thanks.
Lyude Paul Sept. 16, 2022, 10:51 p.m. UTC | #6
sgtm then :), will try to look at this early next week

On Fri, 2022-09-16 at 15:50 -0700, Dmitry Torokhov wrote:
> On Fri, Sep 16, 2022 at 06:39:18PM -0400, Lyude Paul wrote:
> > Would my review count at all here? I hadn't reviewed until now because I
> > wasn't sure it would, but I'm happy to take a look if you think that'd help.
> 
> Absolutely. All reviews count, and they also show that there is interest
> in the patches/new functionality.
> 
> Thanks.
>
Lyude Paul Sept. 22, 2022, 8:18 p.m. UTC | #7
Sorry this took me a little while to get to, but more sorry it took so long
for anyone to review this for you!

Anyway-luckily it seems I retained most of my RMI4 knowledge, so I was able to
follow along with the patch series pretty easily. I basically only had one
small comment about a missing Cc: stable@vger.kernel.org tag on one patch, but
the rest looks good to me:

Reviewed-by: Lyude Paul <lyude@redhat.com>

Feel free to poke me if you need my help getting anything else reviewed

On Wed, 2022-06-08 at 14:47 +0200, Matthias Schiffer wrote:
> This fixes the firmware update function with bootloader v8, allows to
> recover from interrupted updates with v7/v8, and does some code cleanup.
> 
> I believe that the code that allows to recover from a broken partition
> table is also necessary to make flashing a different partition table
> work at all, but I wasn't able to verify that, as I don't have any firmware
> images with different partition tables to test with. In any case, I'm
> pretty sure that it is working correctly now, as recovery from a mostly
> empty flash without partition table has been tested successfully.
> 
> I have only tested the new code with bootloader v8, and I don't have the
> documentation / interfacing guide for v7, so it would be great if anyone
> could check that I didn't break updates for v7.
> 
> 
> Matthias Schiffer (9):
>   Input: synaptics-rmi4 - fix firmware update operations with bootloader
>     v8
>   Input: synaptics-rmi4 - introduce rmi_f34v7_check_command_status()
>     helper
>   Input: synaptics-rmi4 - fix command completion check for bootloader
>     v7/v8
>   Input: synaptics-rmi4 - rewrite partition table unconditionally
>   Input: synaptics-rmi4 - reset after writing partition table
>   Input: synaptics-rmi4 - make rmi_f34v7_erase_all() use the "erase all"
>     command
>   Input: synaptics-rmi4 - remove unneeded struct register_offset
>   Input: synaptics-rmi4 - simplify rmi_f34v7_start_reflash()
>   Input: synaptics-rmi4 - drop useless gotos in rmi_f34v7_do_reflash()
> 
>  drivers/input/rmi4/rmi_f34.c   |  16 +-
>  drivers/input/rmi4/rmi_f34.h   |  17 --
>  drivers/input/rmi4/rmi_f34v7.c | 349 +++++++--------------------------
>  3 files changed, 81 insertions(+), 301 deletions(-)
>