Blame view

kernel/linux-imx6_3.14.28/Documentation/video4linux/bttv/README.quirks 3.68 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
  
  Below is what the bt878 data book says about the PCI bug compatibility
  modes of the bt878 chip.
  
  The triton1 insmod option sets the EN_TBFX bit in the control register.
  The vsfx insmod option does the same for EN_VSFX bit.  If you have
  stability problems you can try if one of these options makes your box
  work solid.
  
  drivers/pci/quirks.c knows about these issues, this way these bits are
  enabled automagically for known-buggy chipsets (look at the kernel
  messages, bttv tells you).
  
  HTH,
  
    Gerd
  
  ---------------------------- cut here --------------------------
  
  Normal PCI Mode
  ---------------
  
  The PCI REQ signal is the logical-or of the incoming function requests.
  The inter-nal GNT[0:1] signals are gated asynchronously with GNT and
  demultiplexed by the audio request signal. Thus the arbiter defaults to
  the video function at power-up and parks there during no requests for
  bus access. This is desirable since the video will request the bus more
  often. However, the audio will have highest bus access priority. Thus
  the audio will have first access to the bus even when issuing a request
  after the video request but before the PCI external arbiter has granted
  access to the Bt879. Neither function can preempt the other once on the
  bus. The duration to empty the entire video PCI FIFO onto the PCI bus is
  very short compared to the bus access latency the audio PCI FIFO can
  tolerate.
  
  
  430FX Compatibility Mode
  ------------------------
  
  When using the 430FX PCI, the following rules will ensure
  compatibility:
  
   (1) Deassert REQ at the same time as asserting FRAME.
   (2) Do not reassert REQ to request another bus transaction until after
       finish-ing the previous transaction.
  
  Since the individual bus masters do not have direct control of REQ, a
  simple logical-or of video and audio requests would violate the rules.
  Thus, both the arbiter and the initiator contain 430FX compatibility
  mode logic. To enable 430FX mode, set the EN_TBFX bit as indicated in
  Device Control Register on page 104.
  
  When EN_TBFX is enabled, the arbiter ensures that the two compatibility
  rules are satisfied. Before GNT is asserted by the PCI arbiter, this
  internal arbiter may still logical-or the two requests. However, once
  the GNT is issued, this arbiter must lock in its decision and now route
  only the granted request to the REQ pin. The arbiter decision lock
  happens regardless of the state of FRAME because it does not know when
  FRAME will be asserted (typically - each initiator will assert FRAME on
  the cycle following GNT). When FRAME is asserted, it is the initiator s
  responsibility to remove its request at the same time. It is the
  arbiters responsibility to allow this request to flow through to REQ and
  not allow the other request to hold REQ asserted. The decision lock may
  be removed at the end of the transaction: for example, when the bus is
  idle (FRAME and IRDY). The arbiter decision may then continue
  asynchronously until GNT is again asserted.
  
  
  Interfacing with Non-PCI 2.1 Compliant Core Logic
  -------------------------------------------------
  
  A small percentage of core logic devices may start a bus transaction
  during the same cycle that GNT is de-asserted. This is non PCI 2.1
  compliant. To ensure compatibility when using PCs with these PCI
  controllers, the EN_VSFX bit must be enabled (refer to Device Control
  Register on page 104). When in this mode, the arbiter does not pass GNT
  to the internal functions unless REQ is asserted. This prevents a bus
  transaction from starting the same cycle as GNT is de-asserted. This
  also has the side effect of not being able to take advantage of bus
  parking, thus lowering arbitration performance. The Bt879 drivers must
  query for these non-compliant devices, and set the EN_VSFX bit only if
  required.