aboutsummaryrefslogtreecommitdiffstats
path: root/fs/hpfs/alloc.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-04-14 17:24:07 -0400
committerDave Airlie <airlied@redhat.com>2011-04-14 19:06:01 -0400
commita70882aa3137fff9532b51ed5d6a92922e1c4c9c (patch)
tree934e0579d238777106bb5c406a9b936c3c46100f /fs/hpfs/alloc.c
parent8e461123f28e6b17456225e70eb834b3b30d28bb (diff)
drm/radeon/kms: add connectors even if i2c fails
Sometimes the i2c test in i2c_bit_add_bus fails if this happens we fail to register the i2c adapter and eventually fail to add the connector. If i2c fails, add the connector to the user can at least force it on. Note that some distros set i2c-algo-bit.bit_test to 1 by default which sometimes fails preventing the ddc i2c adapter from being added. The i2c adapter works even if the bit test fails, probably due to pre/post_xfer not getting called in the test_bit function. I have another patch to follow up on that. See: https://bugs.freedesktop.org/show_bug.cgi?id=36221 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'fs/hpfs/alloc.c')
0 files changed, 0 insertions, 0 deletions
class="hl ppc">#define RX_BUF_SIZE ((32+ETH_FRAME_LEN+31)&~0x1f) /* * SCB defines */ /* these functions take the SCB status word and test the relevant status bit */ #define SCB_complete(s) (((s) & 0x8000) != 0) #define SCB_rxdframe(s) (((s) & 0x4000) != 0) #define SCB_CUdead(s) (((s) & 0x2000) != 0) #define SCB_RUdead(s) (((s) & 0x1000) != 0) #define SCB_ack(s) ((s) & 0xf000) /* Command unit status: 0=idle, 1=suspended, 2=active */ #define SCB_CUstat(s) (((s)&0x0300)>>8) /* Receive unit status: 0=idle, 1=suspended, 2=out of resources, 4=ready */ #define SCB_RUstat(s) (((s)&0x0070)>>4) /* SCB commands */ #define SCB_CUnop 0x0000 #define SCB_CUstart 0x0100 #define SCB_CUresume 0x0200 #define SCB_CUsuspend 0x0300 #define SCB_CUabort 0x0400 #define SCB_resetchip 0x0080 #define SCB_RUnop 0x0000 #define SCB_RUstart 0x0010 #define SCB_RUresume 0x0020 #define SCB_RUsuspend 0x0030 #define SCB_RUabort 0x0040 /* * Command block defines */ #define Stat_Done(s) (((s) & 0x8000) != 0) #define Stat_Busy(s) (((s) & 0x4000) != 0) #define Stat_OK(s) (((s) & 0x2000) != 0) #define Stat_Abort(s) (((s) & 0x1000) != 0) #define Stat_STFail (((s) & 0x0800) != 0) #define Stat_TNoCar(s) (((s) & 0x0400) != 0) #define Stat_TNoCTS(s) (((s) & 0x0200) != 0) #define Stat_TNoDMA(s) (((s) & 0x0100) != 0) #define Stat_TDefer(s) (((s) & 0x0080) != 0) #define Stat_TColl(s) (((s) & 0x0040) != 0) #define Stat_TXColl(s) (((s) & 0x0020) != 0) #define Stat_NoColl(s) ((s) & 0x000f) /* Cmd_END will end AFTER the command if this is the first * command block after an SCB_CUstart, but BEFORE the command * for all subsequent commands. Best strategy is to place * Cmd_INT on the last command in the sequence, followed by a * dummy Cmd_Nop with Cmd_END after this. */ #define Cmd_END 0x8000 #define Cmd_SUS 0x4000 #define Cmd_INT 0x2000 #define Cmd_Nop 0x0000 #define Cmd_SetAddr 0x0001 #define Cmd_Config 0x0002 #define Cmd_MCast 0x0003 #define Cmd_Xmit 0x0004 #define Cmd_TDR 0x0005 #define Cmd_Dump 0x0006 #define Cmd_Diag 0x0007 /* * Frame Descriptor (Receive block) defines */ #define FD_Done(s) (((s) & 0x8000) != 0) #define FD_Busy(s) (((s) & 0x4000) != 0) #define FD_OK(s) (((s) & 0x2000) != 0) #define FD_CRC(s) (((s) & 0x0800) != 0) #define FD_Align(s) (((s) & 0x0400) != 0) #define FD_Resrc(s) (((s) & 0x0200) != 0) #define FD_DMA(s) (((s) & 0x0100) != 0) #define FD_Short(s) (((s) & 0x0080) != 0) #define FD_NoEOF(s) (((s) & 0x0040) != 0) struct rfd_header { volatile unsigned long flags; volatile unsigned short link; volatile unsigned short rbd_offset; volatile unsigned short dstaddr1; volatile unsigned short dstaddr2; volatile unsigned short dstaddr3; volatile unsigned short srcaddr1; volatile unsigned short srcaddr2; volatile unsigned short srcaddr3; volatile unsigned short length; /* This is actually a Receive Buffer Descriptor. The way we * arrange memory means that an RBD always follows the RFD that * points to it, so they might as well be in the same structure. */ volatile unsigned short actual_count; volatile unsigned short next_rbd; volatile unsigned short buf_addr1; volatile unsigned short buf_addr2; volatile unsigned short size; }; /* Returned data from the Time Domain Reflectometer */ #define TDR_LINKOK (1<<15) #define TDR_XCVRPROBLEM (1<<14) #define TDR_OPEN (1<<13) #define TDR_SHORT (1<<12) #define TDR_TIME 0x7ff