Merge branch 'merge'
This commit is contained in:
@@ -175,6 +175,14 @@ static __inline__ int radeon_check_and_fixup_packets(drm_radeon_private_t *
|
||||
}
|
||||
break;
|
||||
|
||||
case R200_EMIT_VAP_CTL:{
|
||||
RING_LOCALS;
|
||||
BEGIN_RING(2);
|
||||
OUT_RING_REG(RADEON_SE_TCL_STATE_FLUSH, 0);
|
||||
ADVANCE_RING();
|
||||
}
|
||||
break;
|
||||
|
||||
case RADEON_EMIT_RB3D_COLORPITCH:
|
||||
case RADEON_EMIT_RE_LINE_PATTERN:
|
||||
case RADEON_EMIT_SE_LINE_WIDTH:
|
||||
@@ -202,7 +210,6 @@ static __inline__ int radeon_check_and_fixup_packets(drm_radeon_private_t *
|
||||
case R200_EMIT_TCL_LIGHT_MODEL_CTL_0:
|
||||
case R200_EMIT_TFACTOR_0:
|
||||
case R200_EMIT_VTX_FMT_0:
|
||||
case R200_EMIT_VAP_CTL:
|
||||
case R200_EMIT_MATRIX_SELECT_0:
|
||||
case R200_EMIT_TEX_PROC_CTL_2:
|
||||
case R200_EMIT_TCL_UCP_VERT_BLEND_CTL:
|
||||
|
||||
+6
-2
@@ -142,6 +142,7 @@ typedef struct _moxa_board_conf {
|
||||
|
||||
static moxa_board_conf moxa_boards[MAX_BOARDS];
|
||||
static void __iomem *moxaBaseAddr[MAX_BOARDS];
|
||||
static int loadstat[MAX_BOARDS];
|
||||
|
||||
struct moxa_str {
|
||||
int type;
|
||||
@@ -1688,6 +1689,8 @@ int MoxaDriverPoll(void)
|
||||
if (moxaCard == 0)
|
||||
return (-1);
|
||||
for (card = 0; card < MAX_BOARDS; card++) {
|
||||
if (loadstat[card] == 0)
|
||||
continue;
|
||||
if ((ports = moxa_boards[card].numPorts) == 0)
|
||||
continue;
|
||||
if (readb(moxaIntPend[card]) == 0xff) {
|
||||
@@ -2903,6 +2906,7 @@ static int moxaloadcode(int cardno, unsigned char __user *tmp, int len)
|
||||
}
|
||||
break;
|
||||
}
|
||||
loadstat[cardno] = 1;
|
||||
return (0);
|
||||
}
|
||||
|
||||
@@ -2920,7 +2924,7 @@ static int moxaloadc218(int cardno, void __iomem *baseAddr, int len)
|
||||
len1 = len >> 1;
|
||||
ptr = (ushort *) moxaBuff;
|
||||
for (i = 0; i < len1; i++)
|
||||
usum += *(ptr + i);
|
||||
usum += le16_to_cpu(*(ptr + i));
|
||||
retry = 0;
|
||||
do {
|
||||
len1 = len >> 1;
|
||||
@@ -2992,7 +2996,7 @@ static int moxaloadc320(int cardno, void __iomem *baseAddr, int len, int *numPor
|
||||
wlen = len >> 1;
|
||||
uptr = (ushort *) moxaBuff;
|
||||
for (i = 0; i < wlen; i++)
|
||||
usum += uptr[i];
|
||||
usum += le16_to_cpu(uptr[i]);
|
||||
retry = 0;
|
||||
j = 0;
|
||||
do {
|
||||
|
||||
+737
-71
File diff suppressed because it is too large
Load Diff
@@ -36,6 +36,18 @@
|
||||
#define TERMIOS_WAIT 2
|
||||
#define TERMIOS_TERMIO 4
|
||||
|
||||
|
||||
/**
|
||||
* tty_wait_until_sent - wait for I/O to finish
|
||||
* @tty: tty we are waiting for
|
||||
* @timeout: how long we will wait
|
||||
*
|
||||
* Wait for characters pending in a tty driver to hit the wire, or
|
||||
* for a timeout to occur (eg due to flow control)
|
||||
*
|
||||
* Locking: none
|
||||
*/
|
||||
|
||||
void tty_wait_until_sent(struct tty_struct * tty, long timeout)
|
||||
{
|
||||
DECLARE_WAITQUEUE(wait, current);
|
||||
@@ -94,6 +106,18 @@ static void unset_locked_termios(struct termios *termios,
|
||||
old->c_cc[i] : termios->c_cc[i];
|
||||
}
|
||||
|
||||
/**
|
||||
* change_termios - update termios values
|
||||
* @tty: tty to update
|
||||
* @new_termios: desired new value
|
||||
*
|
||||
* Perform updates to the termios values set on this terminal. There
|
||||
* is a bit of layering violation here with n_tty in terms of the
|
||||
* internal knowledge of this function.
|
||||
*
|
||||
* Locking: termios_sem
|
||||
*/
|
||||
|
||||
static void change_termios(struct tty_struct * tty, struct termios * new_termios)
|
||||
{
|
||||
int canon_change;
|
||||
@@ -155,6 +179,19 @@ static void change_termios(struct tty_struct * tty, struct termios * new_termios
|
||||
up(&tty->termios_sem);
|
||||
}
|
||||
|
||||
/**
|
||||
* set_termios - set termios values for a tty
|
||||
* @tty: terminal device
|
||||
* @arg: user data
|
||||
* @opt: option information
|
||||
*
|
||||
* Helper function to prepare termios data and run neccessary other
|
||||
* functions before using change_termios to do the actual changes.
|
||||
*
|
||||
* Locking:
|
||||
* Called functions take ldisc and termios_sem locks
|
||||
*/
|
||||
|
||||
static int set_termios(struct tty_struct * tty, void __user *arg, int opt)
|
||||
{
|
||||
struct termios tmp_termios;
|
||||
@@ -284,6 +321,17 @@ static void set_sgflags(struct termios * termios, int flags)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* set_sgttyb - set legacy terminal values
|
||||
* @tty: tty structure
|
||||
* @sgttyb: pointer to old style terminal structure
|
||||
*
|
||||
* Updates a terminal from the legacy BSD style terminal information
|
||||
* structure.
|
||||
*
|
||||
* Locking: termios_sem
|
||||
*/
|
||||
|
||||
static int set_sgttyb(struct tty_struct * tty, struct sgttyb __user * sgttyb)
|
||||
{
|
||||
int retval;
|
||||
@@ -369,9 +417,16 @@ static int set_ltchars(struct tty_struct * tty, struct ltchars __user * ltchars)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Send a high priority character to the tty.
|
||||
/**
|
||||
* send_prio_char - send priority character
|
||||
*
|
||||
* Send a high priority character to the tty even if stopped
|
||||
*
|
||||
* Locking: none
|
||||
*
|
||||
* FIXME: overlapping calls with start/stop tty lose state of tty
|
||||
*/
|
||||
|
||||
static void send_prio_char(struct tty_struct *tty, char ch)
|
||||
{
|
||||
int was_stopped = tty->stopped;
|
||||
|
||||
@@ -1011,6 +1011,8 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
|
||||
return -EPERM;
|
||||
vt_dont_switch = 0;
|
||||
return 0;
|
||||
case VT_GETHIFONTMASK:
|
||||
return put_user(vc->vc_hi_font_mask, (unsigned short __user *)arg);
|
||||
default:
|
||||
return -ENOIOCTLCMD;
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ config WATCHDOG_NOWAYOUT
|
||||
comment "Watchdog Device Drivers"
|
||||
depends on WATCHDOG
|
||||
|
||||
# Architecture Independant
|
||||
# Architecture Independent
|
||||
|
||||
config SOFT_WATCHDOG
|
||||
tristate "Software watchdog"
|
||||
@@ -127,7 +127,7 @@ config S3C2410_WATCHDOG
|
||||
enabled.
|
||||
|
||||
The driver is limited by the speed of the system's PCLK
|
||||
signal, so with reasonbaly fast systems (PCLK around 50-66MHz)
|
||||
signal, so with reasonably fast systems (PCLK around 50-66MHz)
|
||||
then watchdog intervals of over approximately 20seconds are
|
||||
unavailable.
|
||||
|
||||
@@ -423,7 +423,7 @@ config SBC_EPX_C3_WATCHDOG
|
||||
is no way to know if writing to its IO address will corrupt
|
||||
your system or have any real effect. The only way to be sure
|
||||
that this driver does what you want is to make sure you
|
||||
are runnning it on an EPX-C3 from Winsystems with the watchdog
|
||||
are running it on an EPX-C3 from Winsystems with the watchdog
|
||||
timer at IO address 0x1ee and 0x1ef. It will write to both those
|
||||
IO ports. Basically, the assumption is made that if you compile
|
||||
this driver into your kernel and/or load it as a module, that you
|
||||
@@ -472,7 +472,7 @@ config INDYDOG
|
||||
tristate "Indy/I2 Hardware Watchdog"
|
||||
depends on WATCHDOG && SGI_IP22
|
||||
help
|
||||
Hardwaredriver for the Indy's/I2's watchdog. This is a
|
||||
Hardware driver for the Indy's/I2's watchdog. This is a
|
||||
watchdog timer that will reboot the machine after a 60 second
|
||||
timer expired and no process has written to /dev/watchdog during
|
||||
that time.
|
||||
|
||||
Reference in New Issue
Block a user