Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0cd43f83 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'upstream-linus' of...

Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (48 commits)
  ieee1394: raw1394: arm functions slept in atomic context
  ieee1394: sbp2: enable auto spin-up for all SBP-2 devices
  MAINTAINERS: updates to IEEE 1394 subsystem maintainership
  ieee1394: ohci1394: check for errors in suspend or resume
  set power state of firewire host during suspend
  ieee1394: ohci1394: more obvious endianess handling
  ieee1394: ohci1394: fix endianess bug in debug message
  ieee1394: sbp2: don't prefer MODE SENSE 10
  ieee1394: nodemgr: grab class.subsys.rwsem in nodemgr_resume_ne
  ieee1394: nodemgr: fix rwsem recursion
  ieee1394: sbp2: more help in Kconfig
  ieee1394: sbp2: prevent rare deadlock in shutdown
  ieee1394: sbp2: update includes
  ieee1394: sbp2: better handling of transport errors
  ieee1394: sbp2: recheck node generation in sbp2_update
  ieee1394: sbp2: safer agent reset in error handlers
  ieee1394: sbp2: handle "sbp2util_node_write_no_wait failed"
  CONFIG_PM=n slim: drivers/ieee1394/ohci1394.c
  ieee1394: safer definition of empty macros
  video1394: add poll file operation support
  ...
parents db1a19b3 3253b669
Loading
Loading
Loading
Loading
+0 −9
Original line number Original line Diff line number Diff line
@@ -46,15 +46,6 @@ Who: Jody McIntyre <scjody@modernduck.com>


---------------------------
---------------------------


What:	sbp2: module parameter "force_inquiry_hack"
When:	July 2006
Why:	Superceded by parameter "workarounds". Both parameters are meant to be
	used ad-hoc and for single devices only, i.e. not in modprobe.conf,
	therefore the impact of this feature replacement should be low.
Who:	Stefan Richter <stefanr@s5r6.in-berlin.de>

---------------------------

What:	Video4Linux API 1 ioctls and video_decoder.h from Video devices.
What:	Video4Linux API 1 ioctls and video_decoder.h from Video devices.
When:	July 2006
When:	July 2006
Why:	V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6
Why:	V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6
+10 −27
Original line number Original line Diff line number Diff line
@@ -1398,36 +1398,29 @@ M: Gadi Oxman <gadio@netvision.net.il>
L:	linux-kernel@vger.kernel.org
L:	linux-kernel@vger.kernel.org
S:	Maintained
S:	Maintained


IEEE 1394 ETHERNET (eth1394)
L:	linux1394-devel@lists.sourceforge.net
W:	http://www.linux1394.org/
S:	Orphan

IEEE 1394 SUBSYSTEM
IEEE 1394 SUBSYSTEM
P:	Ben Collins
P:	Ben Collins
M:	bcollins@debian.org
M:	bcollins@debian.org
P:	Jody McIntyre
P:	Stefan Richter
M:	scjody@modernduck.com
M:	stefanr@s5r6.in-berlin.de
L:	linux1394-devel@lists.sourceforge.net
L:	linux1394-devel@lists.sourceforge.net
W:	http://www.linux1394.org/
W:	http://www.linux1394.org/
T:	git kernel.org:/pub/scm/linux/kernel/git/scjody/ieee1394.git
T:	git kernel.org:/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
S:	Maintained
S:	Maintained


IEEE 1394 OHCI DRIVER
IEEE 1394 IPV4 DRIVER (eth1394)
P:	Ben Collins
P:	Stefan Richter
M:	bcollins@debian.org
M:	stefanr@s5r6.in-berlin.de
P:	Jody McIntyre
M:	scjody@modernduck.com
L:	linux1394-devel@lists.sourceforge.net
L:	linux1394-devel@lists.sourceforge.net
W:	http://www.linux1394.org/
S:	Odd Fixes
S:	Maintained


IEEE 1394 PCILYNX DRIVER
IEEE 1394 PCILYNX DRIVER
P:	Jody McIntyre
P:	Jody McIntyre
M:	scjody@modernduck.com
M:	scjody@modernduck.com
P:	Stefan Richter
M:	stefanr@s5r6.in-berlin.de
L:	linux1394-devel@lists.sourceforge.net
L:	linux1394-devel@lists.sourceforge.net
W:	http://www.linux1394.org/
S:	Odd Fixes
S:	Maintained


IEEE 1394 RAW I/O DRIVER
IEEE 1394 RAW I/O DRIVER
P:	Ben Collins
P:	Ben Collins
@@ -1435,16 +1428,6 @@ M: bcollins@debian.org
P:	Dan Dennedy
P:	Dan Dennedy
M:	dan@dennedy.org
M:	dan@dennedy.org
L:	linux1394-devel@lists.sourceforge.net
L:	linux1394-devel@lists.sourceforge.net
W:	http://www.linux1394.org/
S:	Maintained

IEEE 1394 SBP2
P:	Ben Collins
M:	bcollins@debian.org
P:	Stefan Richter
M:	stefanr@s5r6.in-berlin.de
L:	linux1394-devel@lists.sourceforge.net
W:	http://www.linux1394.org/
S:	Maintained
S:	Maintained


IMS TWINTURBO FRAMEBUFFER DRIVER
IMS TWINTURBO FRAMEBUFFER DRIVER
+9 −2
Original line number Original line Diff line number Diff line
@@ -120,12 +120,19 @@ config IEEE1394_VIDEO1394
	  this option only if you have an IEEE 1394 video device connected to
	  this option only if you have an IEEE 1394 video device connected to
	  an OHCI-1394 card.
	  an OHCI-1394 card.


comment "SBP-2 support (for storage devices) requires SCSI"
	depends on IEEE1394 && SCSI=n

config IEEE1394_SBP2
config IEEE1394_SBP2
	tristate "SBP-2 support (Harddisks etc.)"
	tristate "SBP-2 support (Harddisks etc.)"
	depends on IEEE1394 && SCSI && (PCI || BROKEN)
	depends on IEEE1394 && SCSI && (PCI || BROKEN)
	help
	help
	  This option enables you to use SBP-2 devices connected to your IEEE
	  This option enables you to use SBP-2 devices connected to an IEEE
	  1394 bus.  SBP-2 devices include harddrives and DVD devices.
	  1394 bus.  SBP-2 devices include storage devices like harddisks and
	  DVD drives, also some other FireWire devices like scanners.

	  You should also enable support for disks, CD-ROMs, etc. in the SCSI
	  configuration section.


config IEEE1394_SBP2_PHYS_DMA
config IEEE1394_SBP2_PHYS_DMA
	bool "Enable replacement for physical DMA in SBP2"
	bool "Enable replacement for physical DMA in SBP2"
+10 −21
Original line number Original line Diff line number Diff line
@@ -17,11 +17,13 @@
 *
 *
 */
 */


#include <linux/string.h>
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/moduleparam.h>
#include <linux/param.h>
#include <linux/param.h>
#include <linux/spinlock.h>
#include <linux/spinlock.h>
#include <linux/string.h>


#include "csr1212.h"
#include "csr1212.h"
#include "ieee1394_types.h"
#include "ieee1394_types.h"
@@ -149,31 +151,18 @@ static void host_reset(struct hpsb_host *host)


/*
/*
 * HI == seconds (bits 0:2)
 * HI == seconds (bits 0:2)
 * LO == fraction units of 1/8000 of a second, as per 1394 (bits 19:31)
 * LO == fractions of a second in units of 125usec (bits 19:31)
 *
 * Convert to units and then to HZ, for comparison to jiffies.
 *
 * By default this will end up being 800 units, or 100ms (125usec per
 * unit).
 *
 *
 * NOTE: The spec says 1/8000, but also says we can compute based on 1/8192
 * Convert SPLIT_TIMEOUT to jiffies.
 * like CSR specifies. Should make our math less complex.
 * The default and minimum as per 1394a-2000 clause 8.3.2.2.6 is 100ms.
 */
 */
static inline void calculate_expire(struct csr_control *csr)
static inline void calculate_expire(struct csr_control *csr)
{
{
	unsigned long units;
	unsigned long usecs =

		(csr->split_timeout_hi & 0x07) * USEC_PER_SEC +
	/* Take the seconds, and convert to units */
		(csr->split_timeout_lo >> 19) * 125L;
	units = (unsigned long)(csr->split_timeout_hi & 0x07) << 13;

	/* Add in the fractional units */
	units += (unsigned long)(csr->split_timeout_lo >> 19);

	/* Convert to jiffies */
	csr->expire = (unsigned long)(units * HZ) >> 13UL;


	/* Just to keep from rounding low */
	csr->expire = usecs_to_jiffies(usecs > 100000L ? usecs : 100000L);
	csr->expire++;


	HPSB_VERBOSE("CSR: setting expire to %lu, HZ=%u", csr->expire, HZ);
	HPSB_VERBOSE("CSR: setting expire to %lu, HZ=%u", csr->expire, HZ);
}
}
+56 −53
Original line number Original line Diff line number Diff line

#ifndef _IEEE1394_CSR_H
#ifndef _IEEE1394_CSR_H
#define _IEEE1394_CSR_H
#define _IEEE1394_CSR_H


#ifdef CONFIG_PREEMPT
#include <linux/spinlock_types.h>
#include <linux/sched.h>
#endif


#include "csr1212.h"
#include "csr1212.h"
#include "ieee1394_types.h"


#define CSR_REGISTER_BASE		0xfffff0000000ULL
#define CSR_REGISTER_BASE		0xfffff0000000ULL


@@ -39,7 +37,7 @@
/* IEEE 1394 bus specific Configuration ROM Key IDs */
/* IEEE 1394 bus specific Configuration ROM Key IDs */
#define IEEE1394_KV_ID_POWER_REQUIREMENTS (0x30)
#define IEEE1394_KV_ID_POWER_REQUIREMENTS (0x30)


/* IEEE 1394 Bus Inforamation Block specifics */
/* IEEE 1394 Bus Information Block specifics */
#define CSR_BUS_INFO_SIZE (5 * sizeof(quadlet_t))
#define CSR_BUS_INFO_SIZE (5 * sizeof(quadlet_t))


#define CSR_IRMC_SHIFT			31
#define CSR_IRMC_SHIFT			31
@@ -64,7 +62,7 @@ struct csr_control {
	quadlet_t state;
	quadlet_t state;
	quadlet_t node_ids;
	quadlet_t node_ids;
	quadlet_t split_timeout_hi, split_timeout_lo;
	quadlet_t split_timeout_hi, split_timeout_lo;
	unsigned long expire;	// Calculated from split_timeout
	unsigned long expire;	/* Calculated from split_timeout */
	quadlet_t cycle_time;
	quadlet_t cycle_time;
	quadlet_t bus_time;
	quadlet_t bus_time;
	quadlet_t bus_manager_id;
	quadlet_t bus_manager_id;
@@ -93,4 +91,9 @@ extern struct csr1212_bus_ops csr_bus_ops;
int init_csr(void);
int init_csr(void);
void cleanup_csr(void);
void cleanup_csr(void);


/* hpsb_update_config_rom() is deprecated */
struct hpsb_host;
int hpsb_update_config_rom(struct hpsb_host *host, const quadlet_t *new_rom,
			   size_t size, unsigned char rom_version);

#endif /* _IEEE1394_CSR_H */
#endif /* _IEEE1394_CSR_H */
Loading