[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0gibD_oboFt7x7VjUTe4mw+mZxHcOiFEEcWdw8dUZ5RXw@mail.gmail.com>
Date: Tue, 30 Jul 2019 00:05:43 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Mario Limonciello <Mario.Limonciello@...l.com>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>,
Kai-Heng Feng <kai.heng.feng@...onical.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Keith Busch <kbusch@...nel.org>,
Keith Busch <keith.busch@...el.com>,
Christoph Hellwig <hch@....de>,
Sagi Grimberg <sagi@...mberg.me>,
linux-nvme <linux-nvme@...ts.infradead.org>,
Linux PM <linux-pm@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [Regression] Commit "nvme/pci: Use host managed power state for
suspend" has problems
On Mon, Jul 29, 2019 at 5:53 PM <Mario.Limonciello@...l.com> wrote:
>
> > -----Original Message-----
> > From: Rafael J. Wysocki <rafael@...nel.org>
> > Sent: Saturday, July 27, 2019 7:55 AM
> > To: Kai-Heng Feng
> > Cc: Rafael J. Wysocki; Keith Busch; Busch, Keith; Christoph Hellwig; Sagi Grimberg;
> > linux-nvme@...ts.infradead.org; Limonciello, Mario; Linux PM; LKML
> > Subject: Re: [Regression] Commit "nvme/pci: Use host managed power state for
> > suspend" has problems
> >
> >
> > [EXTERNAL EMAIL]
> >
> > On Fri, Jul 26, 2019 at 4:03 PM Kai-Heng Feng
> > <kai.heng.feng@...onical.com> wrote:
> > >
> > > at 04:02, Rafael J. Wysocki <rjw@...ysocki.net> wrote:
> > >
> > > > On Thursday, July 25, 2019 9:52:59 PM CEST Keith Busch wrote:
> > > >> On Thu, Jul 25, 2019 at 09:48:57PM +0200, Rafael J. Wysocki wrote:
> > > >>> NVME Identify Controller:
> > > >>> vid : 0x1c5c
> > > >>> ssvid : 0x1c5c
> > > >>> sn : MS92N171312902J0N
> > > >>> mn : PC401 NVMe SK hynix 256GB
> > > >>> fr : 80007E00
> > > >>> rab : 2
> > > >>> ieee : ace42e
> > > >>> cmic : 0
> > > >>> mdts : 5
> > > >>> cntlid : 1
> > > >>> ver : 10200
> > > >>> rtd3r : 7a120
> > > >>> rtd3e : 1e8480
> > > >>> oaes : 0x200
> > > >>> ctratt : 0
> > > >>> oacs : 0x17
> > > >>> acl : 7
> > > >>> aerl : 3
> > > >>> frmw : 0x14
> > > >>> lpa : 0x2
> > > >>> elpe : 255
> > > >>> npss : 4
> > > >>> avscc : 0x1
> > > >>> apsta : 0x1
> > > >>> wctemp : 352
> > > >>> cctemp : 354
> > > >>> mtfa : 0
> > > >>> hmpre : 0
> > > >>> hmmin : 0
> > > >>> tnvmcap : 0
> > > >>> unvmcap : 0
> > > >>> rpmbs : 0
> > > >>> edstt : 10
> > > >>> dsto : 0
> > > >>> fwug : 0
> > > >>> kas : 0
> > > >>> hctma : 0
> > > >>> mntmt : 0
> > > >>> mxtmt : 0
> > > >>> sanicap : 0
> > > >>> hmminds : 0
> > > >>> hmmaxd : 0
> > > >>> nsetidmax : 0
> > > >>> anatt : 0
> > > >>> anacap : 0
> > > >>> anagrpmax : 0
> > > >>> nanagrpid : 0
> > > >>> sqes : 0x66
> > > >>> cqes : 0x44
> > > >>> maxcmd : 0
> > > >>> nn : 1
> > > >>> oncs : 0x1f
> > > >>> fuses : 0x1
> > > >>> fna : 0
> > > >>> vwc : 0x1
> > > >>> awun : 7
> > > >>> awupf : 7
> > > >>> nvscc : 1
> > > >>> acwu : 7
> > > >>> sgls : 0
> > > >>> mnan : 0
> > > >>> subnqn :
> > > >>> ioccsz : 0
> > > >>> iorcsz : 0
> > > >>> icdoff : 0
> > > >>> ctrattr : 0
> > > >>> msdbd : 0
> > > >>> ps 0 : mp:6.00W operational enlat:5 exlat:5 rrt:0 rrl:0
> > > >>> rwt:0 rwl:0 idle_power:- active_power:-
> > > >>> ps 1 : mp:3.80W operational enlat:30 exlat:30 rrt:1 rrl:1
> > > >>> rwt:1 rwl:1 idle_power:- active_power:-
> > > >>> ps 2 : mp:2.40W operational enlat:100 exlat:100 rrt:2 rrl:2
> > > >>> rwt:2 rwl:2 idle_power:- active_power:-
> > > >>> ps 3 : mp:0.0700W non-operational enlat:1000 exlat:1000 rrt:3 rrl:3
> > > >>> rwt:3 rwl:3 idle_power:- active_power:-
> > > >>> ps 4 : mp:0.0070W non-operational enlat:1000 exlat:5000 rrt:3 rrl:3
> > > >>> rwt:3 rwl:3 idle_power:- active_power:-
> > > >>
> > > >> Hm, nothing stands out as something we can use to determine if we should
> > > >> skip the nvme specific settings or allow D3. I've no other ideas at the
> > > >> moment for what we may check.
> > > >
> > > > Well, do ASPM settings matter here?
> > >
> > > Seems like it's a regression in the firmware.
> > >
> > > The issue happens in version 80007E00 but not version 80006E00.
> >
> > So you mean the NVMe firmware, to be entirely precise.
>
> Yes.
>
> >
> > > I am not sure how to downgrade it under Linux though.
> >
> > Me neither.
>
> I'll ask the storage team to ask Hynix to make both these FW available on LVFS.
> Fwupd can upgrade and downgrade firmware when the binaries are made available.
>
> They could potentially be pulled directly out of the Windows executables too, but I don't
> know how to identify them myself.
Well, thanks, but I'm not quite convinced that the NVMe is the reason
why my 9380 cannot reach SLP_S0 and this is my production system, so
I'd rather not do NVMe firmware downgrade experiments on it. :-)
>
> >
> > > The firmware changelog [1] is very interesting:
> > > - Improves the performance of the solid-state drive (SSD) by distributing
> > > power into the SSD efficiently according to the power state of the system.
> > >
> > > [1]
> > >
> > https://www.dell.com/support/home/us/en/04/drivers/driversdetails?driverid=m
> > cxm8
> >
> > Huh.
> >
> > It looks like something else prevents the PCH on my 9380 from reaching
> > the right state for S0ix, though. I still need to find out what it
> > is.
Powered by blists - more mailing lists