All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [Bug 1478376] [NEW] PL050 KMIDATA register does not reset
@ 2015-07-26 18:16 T-T Yu
  2015-07-26 21:57 ` Peter Maydell
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: T-T Yu @ 2015-07-26 18:16 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

static uint32_t pl050_read(void *opaque, target_phys_addr_t offset){
  ...
   case 2: /* KMIDATA */
        if (s->pending)
            s->last = ps2_read_data(s->dev);
        return s->last;
}

When the receive queue is empty (s->pending is false), is the KMIDATA
register supposed to be reset to 0x00? In the current implementation,
the  KMIDATA  does not reverse its value after interrupt is lowered.

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1478376

Title:
  PL050 KMIDATA register does not reset

Status in QEMU:
  New

Bug description:
  static uint32_t pl050_read(void *opaque, target_phys_addr_t offset){
    ...
     case 2: /* KMIDATA */
          if (s->pending)
              s->last = ps2_read_data(s->dev);
          return s->last;
  }

  When the receive queue is empty (s->pending is false), is the KMIDATA
  register supposed to be reset to 0x00? In the current implementation,
  the  KMIDATA  does not reverse its value after interrupt is lowered.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1478376/+subscriptions

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] [Bug 1478376] [NEW] PL050 KMIDATA register does not reset
  2015-07-26 18:16 [Qemu-devel] [Bug 1478376] [NEW] PL050 KMIDATA register does not reset T-T Yu
@ 2015-07-26 21:57 ` Peter Maydell
  2015-08-01 14:22 ` [Qemu-devel] [Bug 1478376] " T-T Yu
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2015-07-26 21:57 UTC (permalink / raw)
  To: Bug 1478376; +Cc: QEMU Developers

On 26 July 2015 at 19:16, T-T Yu <tingting703@gmail.com> wrote:
> Public bug reported:
>
> static uint32_t pl050_read(void *opaque, target_phys_addr_t offset){
>   ...
>    case 2: /* KMIDATA */
>         if (s->pending)
>             s->last = ps2_read_data(s->dev);
>         return s->last;
> }
>
> When the receive queue is empty (s->pending is false), is the KMIDATA
> register supposed to be reset to 0x00? In the current implementation,
> the  KMIDATA  does not reverse its value after interrupt is lowered.

The documentation for the PL050:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0143c/i1014040.html

just says that when KMIDATA is read you get the value in the
receive data register. The implication is that if you read
it multiple times you'll just continue to read the same
value it holds until the keyboard sends further data to be
clocked into the register.

Are you saying that real hardware behaves differently?

thanks
-- PMM

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Qemu-devel] [Bug 1478376] Re: PL050 KMIDATA register does not reset
  2015-07-26 18:16 [Qemu-devel] [Bug 1478376] [NEW] PL050 KMIDATA register does not reset T-T Yu
  2015-07-26 21:57 ` Peter Maydell
@ 2015-08-01 14:22 ` T-T Yu
  2020-08-07 18:10 ` Thomas Huth
  2020-10-07  4:17 ` Launchpad Bug Tracker
  3 siblings, 0 replies; 5+ messages in thread
From: T-T Yu @ 2015-08-01 14:22 UTC (permalink / raw)
  To: qemu-devel

Yes. In our pl050 keyboard controller, the KMIDATA is reset once the
receive queue is empty.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1478376

Title:
  PL050 KMIDATA register does not reset

Status in QEMU:
  New

Bug description:
  static uint32_t pl050_read(void *opaque, target_phys_addr_t offset){
    ...
     case 2: /* KMIDATA */
          if (s->pending)
              s->last = ps2_read_data(s->dev);
          return s->last;
  }

  When the receive queue is empty (s->pending is false), is the KMIDATA
  register supposed to be reset to 0x00? In the current implementation,
  the  KMIDATA  does not reverse its value after interrupt is lowered.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1478376/+subscriptions

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug 1478376] Re: PL050 KMIDATA register does not reset
  2015-07-26 18:16 [Qemu-devel] [Bug 1478376] [NEW] PL050 KMIDATA register does not reset T-T Yu
  2015-07-26 21:57 ` Peter Maydell
  2015-08-01 14:22 ` [Qemu-devel] [Bug 1478376] " T-T Yu
@ 2020-08-07 18:10 ` Thomas Huth
  2020-10-07  4:17 ` Launchpad Bug Tracker
  3 siblings, 0 replies; 5+ messages in thread
From: Thomas Huth @ 2020-08-07 18:10 UTC (permalink / raw)
  To: qemu-devel

Looking through old bug tickets... is this still an issue with the
latest version of QEMU? Or could we close this ticket nowadays?


** Changed in: qemu
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1478376

Title:
  PL050 KMIDATA register does not reset

Status in QEMU:
  Incomplete

Bug description:
  static uint32_t pl050_read(void *opaque, target_phys_addr_t offset){
    ...
     case 2: /* KMIDATA */
          if (s->pending)
              s->last = ps2_read_data(s->dev);
          return s->last;
  }

  When the receive queue is empty (s->pending is false), is the KMIDATA
  register supposed to be reset to 0x00? In the current implementation,
  the  KMIDATA  does not reverse its value after interrupt is lowered.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1478376/+subscriptions


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug 1478376] Re: PL050 KMIDATA register does not reset
  2015-07-26 18:16 [Qemu-devel] [Bug 1478376] [NEW] PL050 KMIDATA register does not reset T-T Yu
                   ` (2 preceding siblings ...)
  2020-08-07 18:10 ` Thomas Huth
@ 2020-10-07  4:17 ` Launchpad Bug Tracker
  3 siblings, 0 replies; 5+ messages in thread
From: Launchpad Bug Tracker @ 2020-10-07  4:17 UTC (permalink / raw)
  To: qemu-devel

[Expired for QEMU because there has been no activity for 60 days.]

** Changed in: qemu
       Status: Incomplete => Expired

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1478376

Title:
  PL050 KMIDATA register does not reset

Status in QEMU:
  Expired

Bug description:
  static uint32_t pl050_read(void *opaque, target_phys_addr_t offset){
    ...
     case 2: /* KMIDATA */
          if (s->pending)
              s->last = ps2_read_data(s->dev);
          return s->last;
  }

  When the receive queue is empty (s->pending is false), is the KMIDATA
  register supposed to be reset to 0x00? In the current implementation,
  the  KMIDATA  does not reverse its value after interrupt is lowered.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1478376/+subscriptions


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-10-07  4:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-26 18:16 [Qemu-devel] [Bug 1478376] [NEW] PL050 KMIDATA register does not reset T-T Yu
2015-07-26 21:57 ` Peter Maydell
2015-08-01 14:22 ` [Qemu-devel] [Bug 1478376] " T-T Yu
2020-08-07 18:10 ` Thomas Huth
2020-10-07  4:17 ` Launchpad Bug Tracker

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.