|
Lines 375-381
Link Here
|
| 375 |
with PnP. This feature is not implemented in any existing |
375 |
with PnP. This feature is not implemented in any existing |
| 376 |
driver and is not considered further in this document.</para> |
376 |
driver and is not considered further in this document.</para> |
| 377 |
|
377 |
|
| 378 |
<para>Because the PnP devices are disabled when probing the |
378 |
<para>As the PnP devices are disabled when probing the |
| 379 |
legacy devices they will not be attached twice (once as legacy |
379 |
legacy devices they will not be attached twice (once as legacy |
| 380 |
and once as PnP). But in case of device-dependent identify |
380 |
and once as PnP). But in case of device-dependent identify |
| 381 |
routines it is the responsibility of the driver to make sure |
381 |
routines it is the responsibility of the driver to make sure |
|
Lines 1019-1025
Link Here
|
| 1019 |
Free the memory allocated by |
1019 |
Free the memory allocated by |
| 1020 |
<function>bus_dmamem_alloc()</function>. At present, |
1020 |
<function>bus_dmamem_alloc()</function>. At present, |
| 1021 |
freeing of the memory allocated with ISA restrictions is |
1021 |
freeing of the memory allocated with ISA restrictions is |
| 1022 |
not implemented. Because of this the recommended model |
1022 |
not implemented. Due to this the recommended model |
| 1023 |
of use is to keep and re-use the allocated areas for as |
1023 |
of use is to keep and re-use the allocated areas for as |
| 1024 |
long as possible. Do not lightly free some area and then |
1024 |
long as possible. Do not lightly free some area and then |
| 1025 |
shortly allocate it again. That does not mean that |
1025 |
shortly allocate it again. That does not mean that |
|
Lines 1322-1332
Link Here
|
| 1322 |
Before calling the callback function from |
1322 |
Before calling the callback function from |
| 1323 |
<function>bus_dmamap_load()</function> the segment array is |
1323 |
<function>bus_dmamap_load()</function> the segment array is |
| 1324 |
stored in the stack. And it gets pre-allocated for the |
1324 |
stored in the stack. And it gets pre-allocated for the |
| 1325 |
maximal number of segments allowed by the tag. Because of |
1325 |
maximal number of segments allowed by the tag. As a result of |
| 1326 |
this the practical limit for the number of segments on i386 |
1326 |
this the practical limit for the number of segments on i386 |
| 1327 |
architecture is about 250-300 (the kernel stack is 4KB minus |
1327 |
architecture is about 250-300 (the kernel stack is 4KB minus |
| 1328 |
the size of the user structure, size of a segment array |
1328 |
the size of the user structure, size of a segment array |
| 1329 |
entry is 8 bytes, and some space must be left). Because the |
1329 |
entry is 8 bytes, and some space must be left). Since the |
| 1330 |
array is allocated based on the maximal number this value |
1330 |
array is allocated based on the maximal number this value |
| 1331 |
must not be set higher than really needed. Fortunately, for |
1331 |
must not be set higher than really needed. Fortunately, for |
| 1332 |
most of hardware the maximal supported number of segments is |
1332 |
most of hardware the maximal supported number of segments is |
|
Lines 2192-2198
Link Here
|
| 2192 |
int error = 0;</programlisting> |
2192 |
int error = 0;</programlisting> |
| 2193 |
|
2193 |
|
| 2194 |
<para>Then allocate and activate all the necessary |
2194 |
<para>Then allocate and activate all the necessary |
| 2195 |
resources. Because normally the port range will be released |
2195 |
resources. As normally the port range will be released |
| 2196 |
before returning from probe, it has to be allocated |
2196 |
before returning from probe, it has to be allocated |
| 2197 |
again. We expect that the probe routine had properly set all |
2197 |
again. We expect that the probe routine had properly set all |
| 2198 |
the resource ranges, as well as saved them in the structure |
2198 |
the resource ranges, as well as saved them in the structure |