All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: marcel@redhat.com, crobinso@redhat.com,
	Stefan Berger <stefanb@us.ibm.com>,
	qemu-devel@nongnu.org, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH] acpi: Fix TPM ACPI description to make TPM usable on Windows
Date: Thu, 31 Mar 2016 16:07:36 +0200	[thread overview]
Message-ID: <20160331160736.2576b590@igors-macbook-pro.local> (raw)
In-Reply-To: <56FCA1AD.9000507@linux.vnet.ibm.com>

On Thu, 31 Mar 2016 00:03:57 -0400
Stefan Berger <stefanb@linux.vnet.ibm.com> wrote:

> On 03/30/2016 09:33 AM, Igor Mammedov wrote:
> > On Mon, 21 Mar 2016 10:21:11 -0400
> > Stefan Berger <stefanb@us.ibm.com> wrote:
> >
> >> This patch addresses BZ 1281413.
> >>
> >> Fix the APCI description to make it work on Windows again. The ACPI
> >> description was broken in commit 9e47226.
> > above commit just added missing ASL description for TMP device
> > and you also posted exactly similar patch back then.
> 
> Sorry, I referenced the wrong commit. Here's the bad one:
> 
> commit 72d97b3a543a9c2c820bd463ba24751ae4247ac3
> 
> >
> > Current commit message is pretty useless, Pls describe in commit
> > message what/how is broken and how/why patch fixes it.
> 
> I am not sure what exactly broke it. All I know is that the scope was 
> changed and the device name were change (ISA.TPM versus TPM). This
> was the working ACPI description from QEMU v2.3.1:
> 
>      Scope(\_SB) {
>          /* TPM with emulated TPM TIS interface */
>          Device (TPM) {
>              Name (_HID, EisaID ("PNP0C31"))
>              Name (_CRS, ResourceTemplate ()
>              {
>                  Memory32Fixed (ReadWrite, TPM_TIS_ADDR_BASE, 
> TPM_TIS_ADDR_SIZE)
>                  // older Linux tpm_tis drivers do not work with IRQ
>                  //IRQNoFlags () {TPM_TIS_IRQ}
>              })
The first committed variant has IRQ uncommented, so it was always
present in _CRS (commit 9e47226)


[...]
> >> +            //aml_append(crs, aml_irq_no_flags(TPM_TIS_IRQ));
> > silent change,
> > why IRQ descriptor is commented out, it seems the device
> > uses/initializes it?
> > I'd split IRQ change in a separate patch that explains why it
> > shouldn't be in TPM._CRS.
> 
> We can leave it there if it works. The bug report is related to
> Windows, which I don't have running in a VM. So the safest was to
> roll back to 2.3.1 equivalent, which had the IRQ disabled.
I've looked through code some more and Windows seems to be right in not
starting device as IRQ 5 might be used by PNP0C0F devices, see
build_link_dev(). So potential conflict is there and moving TPM device
out of PCI.ISA scope just hides problem as resource conflict
checking doesn't work anymore.

Current TPM code have 2 issues:
 1: it uses wrong IRQ, (I've tried with unused COM2's IRQ3 and warning
    goes away)
 2: IRQ is hardcoded i.e. _CRS always has TPM_TIS_IRQ value, regardless
    of what user specified at command line, for example:
       -device tpm-tis,irq=3
    has no effect on ACPI part

So to fix it correctly on top of my patch:
 1: default IRQ shouldn't be 5 (CCing Marcel, may be he has an idea
    what it should be)
 2: ACPI should pick up IRQ from tpm-tis device property, i.e. it
    shouldn't be hardcoded in ACPI part.

  parent reply	other threads:[~2016-03-31 14:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-21 14:21 [Qemu-devel] [PATCH] acpi: Fix TPM ACPI description to make TPM usable on Windows Stefan Berger
2016-03-21 15:32 ` Cole Robinson
2016-03-30 13:33 ` Igor Mammedov
2016-03-31  4:03   ` Stefan Berger
2016-03-31  9:50     ` Igor Mammedov
2016-03-31 14:07     ` Igor Mammedov [this message]
2016-04-01 18:50       ` Stefan Berger
2016-04-02 19:35         ` Igor Mammedov
2016-04-03 13:33         ` Michael S. Tsirkin
2016-04-04 11:05       ` Marcel Apfelbaum
2016-03-30 13:35 ` [Qemu-devel] [PATCH] pc: acpi: tpm: add missing MMIO resource to PCI0._CRS Igor Mammedov

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=20160331160736.2576b590@igors-macbook-pro.local \
    --to=imammedo@redhat.com \
    --cc=crobinso@redhat.com \
    --cc=marcel@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@linux.vnet.ibm.com \
    --cc=stefanb@us.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.