From: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Dennis Dalessandro
<dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
dean.luick-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
mitko.haralanov-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
jubin.john-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org
Subject: Re: [RFC] Proposal to address hfi1 UI and EPROM devices
Date: Thu, 5 May 2016 19:58:48 -0400 [thread overview]
Message-ID: <20160505235847.GA8379@rhel.ra.intel.com> (raw)
In-Reply-To: <20160505203858.GA18611-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
On Thu, May 05, 2016 at 02:38:58PM -0600, Jason Gunthorpe wrote:
> On Thu, May 05, 2016 at 03:32:32PM -0400, Doug Ledford wrote:
> > On 05/05/2016 03:20 PM, Jason Gunthorpe wrote:
> > > On Thu, May 05, 2016 at 02:57:01PM -0400, Doug Ledford wrote:
> > >
> > >> and the eeprom is written with the new data. If you need to do special
> > >> things, like Mellanox, in terms of recovering burned data like GIDs
> > >> or
> > >
> > > The 'eeprom' and device firmware are very different things. hfi1 has
> > > both, and uses request_firmware too.
> > >
> > > I've never heard of a driver using ethtool eeprom to deal with nv
> > > firmware like mlx has.
> >
> > There's no reason it couldn't. Since you can pass offset and length
> > parameters and write things in multiple chunks, you can actually set up
> > access to eeprom, nv ram, and firmware all through the one interface
> > simply by defining the start/stop points of each to be at specific, well
> > known locations for your device.
>
> Well, sort of.
>
> firmware write tends to be super-critical, doing it wrong can often
> mean the card is bricked. eg some devices require good firmware to
> start the PCI-E at all.
The firmware for hfi1 is already done with the kernel standard firmware
functions.
I think we will need Mellanox to weigh in on their firmware update but I
suspect that it is a critical operation which needs to be handled very
carefully.
>
> This means the firmware write process needs to be bomb-proof and all
> competent vendors provide a user space program that does all necesary
> checks. Using the latest version of that program is always a good idea
> :)
>
> I would be strongly against moving that sort of complexity into the
> kernel.
>
> In turn this means users will never have a uniform user space
> experience, like 'cat | ethtool' - because that will not include the
> checks.
>
> Further, the very worst thing we could do is create a situation where
> a new kernel driver is required to do a firmware update (eg because we
> decided to move the checks into the kernel), and worse, potentially
> the new driver won't load on old firmware or old kernels. IIRC mlx had
> some problems like this once.
>
> From that view, I think, if it can be don entirely via resource0, then
> that is what vendors should do, there is no value in a common API for
> firmware nv writing.
>
> ethtool eeprom exists as simple debugging/helper tool that should
> really never be used by end users. It is reasonble to duplicate it for
> eeprom like things, and AFAIK those uses cannot truely brick the
> hardware.
The eeprom update for hfi1 should be a rare operation. resource0 gives us
enough access to do this in the field but with very carefully crafted
instructions and/or tools. This keeps the kernel simple yet gives us access
without requiring users to change their kernels. The only exception would be a
lock to tell the driver and hardware we are accessing registers.
Perhaps this is as simple as calling open on a debugfs file then we
automatically know when the process has gone away?
All of this can be done with _very_ simple kernel code which really never has
to change while maintaining a very high degree of flexibility.
Ira
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2016-05-05 23:58 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-02 19:55 [RFC] Proposal to address hfi1 UI and EPROM devices Dennis Dalessandro
[not found] ` <20160502195502.GA31800-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-05-03 16:24 ` Leon Romanovsky
[not found] ` <20160503162457.GB29160-2ukJVAZIZ/Y@public.gmane.org>
2016-05-03 16:54 ` Dennis Dalessandro
[not found] ` <20160503165403.GA11903-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-05-03 18:42 ` Leon Romanovsky
[not found] ` <20160503184218.GC29160-2ukJVAZIZ/Y@public.gmane.org>
2016-05-04 4:41 ` Leon Romanovsky
[not found] ` <20160504044107.GE29160-2ukJVAZIZ/Y@public.gmane.org>
2016-05-04 12:36 ` Dennis Dalessandro
[not found] ` <20160504123621.GC10916-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-05-04 18:15 ` Jason Gunthorpe
[not found] ` <20160504181509.GA20488-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-05 6:38 ` Leon Romanovsky
[not found] ` <20160505063834.GH29160-2ukJVAZIZ/Y@public.gmane.org>
2016-05-05 12:00 ` Dennis Dalessandro
[not found] ` <20160505120033.GA23895-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2016-05-05 12:39 ` Leon Romanovsky
[not found] ` <20160505123932.GK29160-2ukJVAZIZ/Y@public.gmane.org>
2016-05-05 18:08 ` Jason Gunthorpe
[not found] ` <20160505180843.GA5957-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-05 18:36 ` Doug Ledford
[not found] ` <b7f1735c-5362-514e-268a-49a09b316a88-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-05-05 18:46 ` Jason Gunthorpe
2016-05-06 4:36 ` Leon Romanovsky
2016-05-04 12:20 ` Dennis Dalessandro
2016-05-03 17:31 ` Jason Gunthorpe
[not found] ` <20160503173130.GA1921-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-04 12:17 ` Dennis Dalessandro
2016-05-05 18:57 ` Doug Ledford
[not found] ` <72645a3b-5945-419a-d7af-1c065080e415-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-05-05 19:20 ` Jason Gunthorpe
[not found] ` <20160505192024.GA17249-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-05 19:32 ` Doug Ledford
[not found] ` <5334ab9c-428a-547f-b80a-e0bee3f85449-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-05-05 20:38 ` Jason Gunthorpe
[not found] ` <20160505203858.GA18611-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-05-05 23:58 ` Ira Weiny [this message]
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=20160505235847.GA8379@rhel.ra.intel.com \
--to=ira.weiny-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=dean.luick-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=jubin.john-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=mitko.haralanov-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/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