public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rudolf Marek <r.marek@assembler.cz>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: David Hubbard <david.c.hubbard@gmail.com>,
	Rudolf@atrpms.net, Pavel Machek <pavel@ucw.cz>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	lm-sensors@lm-sensors.org, linux-acpi@vger.kernel.org,
	Chuck Ebbert <cebbert@redhat.com>
Subject: Re: [lm-sensors] Could the k8temp driver be interfering with ACPI?
Date: Sat, 03 Mar 2007 18:08:27 +0100	[thread overview]
Message-ID: <45E9AB8B.1070804@assembler.cz> (raw)
In-Reply-To: <20070303155048.GA22755@srcf.ucam.org>

Hello all,

I was already thinking about some very general port forwarder,
(http://lists.lm-sensors.org/pipermail/lm-sensors/2007-February/018788.html)

But I'm not able to find out how to do that painlessly. Even don't know if to
use the classes or even some new "bus" in driver model :/ some suggestions on
this would be very welcome.

Let start with some very naive 1:1 solution which would try out if we can handle
"transactions" (typically write to one port read from other operation)
and preserve the "banks". As was already written some virtualization in driver
would be required, but it may be done because we know how the hardware is
supposed to work.

It seems that most simple solution to try out would be to add a possible
callback structure into a IORESOURCE structure. Please don't blame me for this,
it is just for testing purpose, we must think of better place, but as I said I
dont know where or how :/

Here is some concept:

When the request_region fails, ACPI could call request_region_acpi
which will return a pointer to some structure with defined callbacks
like do->outb do->inb. ACPI will first chekc if the pointer is not NULL ;)

This callback would end up in let say other linux driver.

For the typical hwmon chip things works similar way as CMOS access. Port is
written 0x295 with register address and port 0x296 is read or written.

Therefore:
void outb(port, val) {

if (port == 0x295) {
	reg_pointer=val;
} else if (port == 0x296) {
	// ACPI wants to write to the chip
	if (reg_pointer == BANKREG)
		reg_bank=val;
	}
	do_chip_write(reg_pointer, reg_bank_val);
}
}

void inb(port, val) {

if (port == 0x296) {
	

	return do_read_chip(reg_pointer, reg_bank);
}

}

The code above shows how the IO access could be synchronized with the ACPI, to
make everyone happy again. The driver could snoop what ACPI tries to change, so
it for example force reloading the cached values...

The second device which might be a challange is the SMBus controller. The
virtualization could be done same/similar way.

For PCI memory regions, the situation is same as for IO, however for the
pci_config space I cannot see any straight solution.


Regards
Rudolf

  reply	other threads:[~2007-03-03 17:15 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-16 17:31 Could the k8temp driver be interfering with ACPI? Chuck Ebbert
2007-02-16 17:57 ` Len Brown
2007-02-16 18:14   ` Chuck Ebbert
2007-02-16 19:59 ` Andi Kleen
2007-02-16 19:31   ` Chuck Ebbert
2007-02-18 17:32     ` [lm-sensors] " Jean Delvare
2007-02-18 23:22       ` Andi Kleen
2007-02-17 10:49 ` Rudolf Marek
2007-02-17 18:14   ` Chuck Ebbert
2007-02-18 17:38     ` Jean Delvare
2007-02-20 15:18       ` Matthew Garrett
2007-02-20 15:33         ` Luca Tettamanti
2007-02-21 14:59           ` Jean Delvare
2007-02-21 15:07         ` Jean Delvare
2007-02-28 21:38       ` Pavel Machek
2007-03-01 14:26         ` Jean Delvare
2007-03-01 17:48           ` Dave Jones
2007-03-02 11:27             ` Jean Delvare
2007-03-02 11:31               ` Pavel Machek
2007-03-02 13:37                 ` Jean Delvare
2007-03-02 13:47                   ` Henrique de Moraes Holschuh
2007-03-02 13:57                   ` Pavel Machek
2007-03-03  6:44                     ` Jean Delvare
2007-03-02 11:40           ` Pavel Machek
2007-03-02 11:47             ` Matthew Garrett
2007-03-02 13:58               ` Pavel Machek
2007-03-02 21:00                 ` Jean Delvare
2007-03-02 21:22                   ` Henrique de Moraes Holschuh
2007-04-01 15:39                   ` Pavel Machek
2007-04-02 15:48                     ` Jean Delvare
2007-04-02 19:22                       ` Dave Jones
2007-04-03  5:49                         ` Jean Delvare
2007-04-02 20:55                       ` Moore, Robert
2007-04-03  7:21                         ` Jean Delvare
2007-04-04 21:35                           ` Moore, Robert
2007-03-02 14:10               ` [lm-sensors] " Jean Delvare
2007-03-02 14:18                 ` Matthew Garrett
2007-03-02 21:04                   ` Jean Delvare
2007-03-02 21:12                     ` Matthew Garrett
2007-03-03  9:53                       ` Jean Delvare
2007-03-03 15:47                         ` David Hubbard
2007-03-03 15:50                           ` Matthew Garrett
2007-03-03 17:08                             ` Rudolf Marek [this message]
2007-03-04 17:29                               ` Rudolf Marek
2007-03-05 21:16                                 ` Jean Delvare
2007-03-05 21:35                                   ` David Hubbard
2007-03-06 15:10                                     ` Jean Delvare
2007-03-04 10:54                           ` Jean Delvare
2007-03-05 22:25                         ` Pavel Machek
2007-03-06  7:55                           ` Benny Amorsen
2007-03-06 15:26                           ` Jean Delvare
2007-03-06 20:07                             ` Stefan Monnier
2007-03-06 21:20                             ` Pavel Machek
2007-03-06 21:25                               ` Moore, Robert
2007-03-18 19:36                         ` richardvoigt
2007-03-19  7:08                           ` Jean Delvare
2007-03-02 22:07                     ` Moore, Robert
2007-03-09  7:18                       ` Pavel Machek
2007-03-09 10:24                         ` Jean Delvare
2007-03-09 10:39                           ` Alexey Starikovskiy
2007-03-09 11:21                             ` Pavel Machek
2007-03-09 17:23                             ` Jean Delvare
2007-03-09 17:35                               ` Alexey Starikovskiy
2007-03-09 21:03                                 ` Moore, Robert
2007-03-09 20:56                         ` Moore, Robert
2007-03-02 14:22                 ` Pavel Machek
2007-03-02 14:03             ` Jean Delvare
2007-03-02 14:24               ` Pavel Machek
2007-03-02 14:57               ` Matthew Garrett
2007-03-02 21:41                 ` Jean Delvare
2007-03-02 21:46                   ` Matthew Garrett
2007-03-06 21:28                     ` Jean Delvare
2007-04-13 18:18               ` Bjorn Helgaas
2007-04-13 20:07                 ` Pavel Machek
2007-04-13 20:59                   ` Bjorn Helgaas
2007-04-15  9:41                     ` Jean Delvare
2007-04-15 20:31                       ` Bjorn Helgaas
2007-04-15 20:59                         ` Luca Tettamanti
2007-04-16  0:57                           ` Bjorn Helgaas
2007-04-16 21:14                             ` Luca Tettamanti
2007-04-16 22:28                               ` Bjorn Helgaas
2007-04-17 23:50                                 ` Luca Tettamanti
2007-04-22 16:55                                   ` Luca Tettamanti
2007-04-17 10:03                               ` Jean Delvare
2007-02-18 22:43     ` Rudolf Marek
2007-02-20 15:08       ` Chuck Ebbert
2007-02-20 19:11         ` Dave Jones
2007-02-21 16:17           ` Jean Delvare
2007-02-21 17:37             ` Dave Jones
2007-02-21 20:19               ` Dave Jones
2007-02-22 16:37                 ` Jean Delvare
2007-02-23  7:13                   ` Hans de Goede
2007-02-23  7:47                     ` Jean Delvare
2007-02-21 14:54         ` Jean Delvare
2007-02-21 16:03           ` Chuck Ebbert
2007-02-21 16:22             ` Jean Delvare
     [not found] <7PvLN-1cj-3@gated-at.bofh.it>
     [not found] ` <7TEGV-6Jy-39@gated-at.bofh.it>
     [not found]   ` <7TUBX-6TN-5@gated-at.bofh.it>
     [not found]     ` <7UeqX-4QO-17@gated-at.bofh.it>
     [not found]       ` <7UeqZ-4QO-27@gated-at.bofh.it>
     [not found]         ` <7UgM5-np-1@gated-at.bofh.it>
     [not found]           ` <7UgM8-np-11@gated-at.bofh.it>
     [not found]             ` <7UnaS-2xP-9@gated-at.bofh.it>
     [not found]               ` <7UnkC-2JB-9@gated-at.bofh.it>
     [not found]                 ` <7Uzcd-49u-3@gated-at.bofh.it>
     [not found]                   ` <7UEEN-4xi-3@gated-at.bofh.it>
2007-03-05 13:56                     ` Bodo Eggert
2007-03-06 15:19                       ` Jean Delvare
2007-03-06 20:40                         ` Bodo Eggert
2007-03-07  9:17                           ` Jean Delvare
2007-03-07  9:36                             ` Pavel Machek
2007-03-07 17:09                             ` Bodo Eggert

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=45E9AB8B.1070804@assembler.cz \
    --to=r.marek@assembler.cz \
    --cc=Rudolf@atrpms.net \
    --cc=cebbert@redhat.com \
    --cc=david.c.hubbard@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=pavel@ucw.cz \
    /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