linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christopher Heiny <cheiny@synaptics.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Linux Input <linux-input@vger.kernel.org>,
	Andrew Duggan <aduggan@synaptics.com>,
	Vincent Huang <vincent.huang@tw.synaptics.com>,
	Vivian Ly <vly@synaptics.com>,
	Daniel Rosenberg <daniel.rosenberg@synaptics.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>,
	David Herrmann <dh.herrmann@gmail.com>,
	Jiri Kosina <jkosina@suse.cz>,
	Erol Eryilmaz <erol.eryilmaz@synaptics.com>,
	Bob Balcomb <bob.balcomb@synaptics.com>
Subject: Re: [PATCH v2 05/06] input synaptics-rmi4: Add firmware update support
Date: Fri, 8 Aug 2014 14:10:07 -0700	[thread overview]
Message-ID: <53E53CAF.6000802@synaptics.com> (raw)
In-Reply-To: <20140807064251.GE651@core.coreip.homeip.net>

On 08/06/2014 11:42 PM, Dmitry Torokhov wrote:
> On Wed, Aug 06, 2014 at 04:28:26PM -0700, Christopher Heiny wrote:
>> [I sent this last Thursday, but it never showed up on the input
>> list. I'm assuming nobody else saw it.]
>>
>>
>> On 07/31/2014 02:58 PM, Dmitry Torokhov wrote:
>>> On Thu, Jul 31, 2014 at 02:43:47PM -0700, Christopher Heiny wrote:
>>>> On 07/31/2014 02:19 PM, Dmitry Torokhov wrote:
>>>>> On Thu, Jul 31, 2014 at 02:00:14PM -0700, Christopher Heiny wrote:
>>>>>>> On 07/31/2014 10:53 AM, Dmitry Torokhov wrote:
>>>>>>>>> Hi Christopher,
>>>>>>>>>
>>>>>>>>> On Wed, Mar 12, 2014 at 06:53:56PM -0700, Christopher Heiny wrote:
>>>>>>>>>>> Add support for updating firmware on RMI4 devices with V5 bootloader.
>>>>>>>>>
>>>>>>>>> I am wondering why F34 is not following the staindard RMI function
>>>>>>>>> implementation. By that I mean that it does not declare itself as struct
>>>>>>>>> rmi_function_handler and does not rely on RMI core to bind itself to the device
>>>>>>>>> if device supports it.
>>>>>>>
>>>>>>> Hi Dmitry,
>>>>>>>
>>>>>>> We originally had an F34 implementation that followed the RMI4
>>>>>>> function standard and exposed most of the basic F34 operations via
>>>>>>> sysfs. However, we got feedback (both on LKML and offline) (a)
>>>>>>> recommending to use request_firmware, and (b) improve reflash times
>>>>>>> while (c) reducing impact on boot time, and (d) "get rid of all that
>>>>>>> sysfs crap" (paraphrased, but close to it).
>>>>>>>
>>>>>>> So after looking at how some other drivers use request_firmware, we
>>>>>>> came up with the current approach.  Switching to request_firmware
>>>>>>> definitely sped up the reflash times!  Including a check to see if
>>>>>>> firmware update is required before setting up the RMI4
>>>>>>> sensor/function structures also significantly reduced boot times.
>>>>>
>>>>> I am not suggesting you stop using request-firmware or introduce
>>>>> bazillion of new sysfs attributes. I just wondered why you have manual
>>>>> "binding" of F34 functionality instead of standrad RMI4 function
>>>>> binding, liek you do for F01, F11 and so forth.
>>>>
>>>> Sorry!  My answer wasn't very clear on that part, was it?
>>>>
>>>> The manual binding gets the reflash (if required) done very early in
>>>> the boot/probe process.  This eliminates the need to set up the
>>>> whole sensor + functions structure, tear it down in order to
>>>> reflash, and then build it all back up again.  It is felt that the
>>>> time savings is significant, especially on highly featured products.
>>>
>>> I am sorry but I have hard time accepting this argument. How often do
>>> you reflash devices during normal operation and how long does it take to
>>> initialize the device compared to getting entire userspace up and
>>> running to be able to actually supply or serve flash data (even without
>>> using usermode helper to flash you need filesystem with the firmware to
>>> be mounted)?
>>
>> That was my argument exactly, but that was the direction we were
>> pushed.  I'd much rather implement it as we discussed offline
>> earlier this week.  If you were to say: "I'm sorry, but this simply
>> can't be merged as it stands." you wouldn't get any argument from me
>> on technical grounds. There might be people who will argue about the
>> additional calendar time it would take to restructure it, though.
>
> OK, then I will just say this: "I'm sorry, but this simply can't be merged as
> it stands."
>
> Now, I am talking about mainline here, I am fairly certain we can resolve
> scheduling issues between what you currently have and what is needed in the
> end.

OK.  The question on our end becomes - can we accept the current 
implementation as a baseline while we rework the implementation to use a 
conformant F34 implementation?  Our rough estimation is that this will 
be ready around the end of this month or early next month.

					Thanks,
						Chris

  reply	other threads:[~2014-08-08 21:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-13  1:53 [PATCH v2 01/06] input synaptics-rmi4: Split F01 definitions into header file Christopher Heiny
2014-03-13  1:53 ` [PATCH v2 02/06] input synaptics-rmi4: Add some more F01 properties Christopher Heiny
2014-03-13  1:53 ` [PATCH v2 03/06] input synaptics-rmi4: rmi_f01 - Fix a comment, add a diagnostic message Christopher Heiny
2014-03-13  1:53 ` [PATCH v2 04/06] input synaptics-rmi4: rmi_driver - Export some symbols and functions Christopher Heiny
2014-03-13  1:53 ` [PATCH v2 05/06] input synaptics-rmi4: Add firmware update support Christopher Heiny
2014-07-31 17:53   ` Dmitry Torokhov
2014-07-31 21:00     ` Christopher Heiny
2014-07-31 21:19       ` Dmitry Torokhov
2014-07-31 21:43         ` Christopher Heiny
2014-07-31 21:58           ` Dmitry Torokhov
2014-08-06 23:28             ` Christopher Heiny
2014-08-07  6:42               ` Dmitry Torokhov
2014-08-08 21:10                 ` Christopher Heiny [this message]
2014-08-08 21:20                   ` Dmitry Torokhov
2014-03-13  1:53 ` [PATCH v2 06/06] input synaptics-rmi4: Use request_firmware_nowait Christopher Heiny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53E53CAF.6000802@synaptics.com \
    --to=cheiny@synaptics.com \
    --cc=aduggan@synaptics.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=bob.balcomb@synaptics.com \
    --cc=daniel.rosenberg@synaptics.com \
    --cc=dh.herrmann@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=erol.eryilmaz@synaptics.com \
    --cc=jkosina@suse.cz \
    --cc=linus.walleij@linaro.org \
    --cc=linux-input@vger.kernel.org \
    --cc=vincent.huang@tw.synaptics.com \
    --cc=vly@synaptics.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).