Lines Matching +full:ide +full:- +full:port

2   This file declares EFI IDE Controller Init Protocol
4 The EFI_IDE_CONTROLLER_INIT_PROTOCOL provides the chipset-specific information
5 to the driver entity. This protocol is mandatory for IDE controllers if the
6 IDE devices behind the controller are to be enumerated by a driver entity.
8 There can only be one instance of EFI_IDE_CONTROLLER_INIT_PROTOCOL for each IDE
10 IDE controller. A driver entity that wishes to manage an IDE bus and possibly
11 IDE devices in a system will have to retrieve the EFI_IDE_CONTROLLER_INIT_PROTOCOL
14 A device handle for an IDE controller must contain an EFI_DEVICE_PATH_PROTOCOL.
16 Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
17 SPDX-License-Identifier: BSD-2-Clause-Patent
44 /// The phase of the IDE Controller enumeration.
50 /// perform any chipset-specific programming.
56 /// perform any chipset-specific programming.
62 /// chipset-specific programming.
68 /// any chipset-specific programming.
81 /// used to perform any chipset-specific programming.
85 /// The IDE bus is requesting the IDE controller driver to
86 /// reprogram the IDE controller hardware and thereby reset all
109 /// Indicates a first-generation (Gen1) SATA speed.
114 /// Indicates a second-generation (Gen2) SATA speed.
182 /// The number of extended-mode bitmap entries. Extended modes describe transfer
234 Returns the information about the specified IDE channel.
236 This function can be used to obtain information about a particular IDE channel.
244 port multipliers. SATA port multipliers behave like SATA bridges and can support
245 up to 16 devices on the other side. If a SATA port out of the IDE controller
246 is connected to a port multiplier, MaxDevices will be set to the number of SATA
247 devices that the port multiplier supports. Because today's port multipliers
248 support up to fifteen SATA devices, this number can be as large as fifteen. The IDE
249 bus driver is required to scan for the presence of port multipliers behind an SATA
250 controller and enumerate up to MaxDevices number of devices behind the port
253 In this context, the devices behind a port multiplier constitute a channel.
256 @param[in] Channel Zero-based channel number.
259 @param[out] MaxDevices The maximum number of IDE devices that the bus driver
263 port multiplier, this number can be as large as fifteen.
280 phase of the IDE channel enumeration process.
282 This function can be used to notify the IDE controller driver to perform
283 specific actions, including any chipset-specific initialization, so that the
291 @param[in] Channel Zero-based channel number.
311 Submits the device information to the IDE controller driver.
314 a particular device to the IDE controller driver. The driver entity obtains
317 by the driver entity, and the IDE controller driver must make a local copy
321 - EFI_IDE_CONTROLLER_INIT_PROTOCOL.CalculateMode() or
322 - EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode() is called at a later point.
324 The IDE controller driver may consult various fields of EFI_IDENTIFY_DATA to
326 timing information. For example, an implementation of the IDE controller driver
333 should be called with IdentifyData set to NULL. The IDE controller driver may
340 @param[in] Channel Zero-based channel number.
341 @param[in] Device Zero-based device number on the Channel.
359 Disqualifies specific modes for an IDE device.
362 drivers) to reject certain timing modes and request the IDE controller driver
363 to recalculate modes. This function allows the driver entity and the IDE
364 controller driver to negotiate the timings on a per-device basis. This function
366 is when the IDE device fails to accept the timing modes that are calculated
367 by the IDE controller driver based on the response to the Identify Drive command.
370 decision to the IDE controller driver, it can either not call this function for
383 may inform the IDE controller driver to not use second-generation (Gen2) speeds
387 @param[in] Channel The zero-based channel number.
388 @param[in] Device The zero-based device number on the Channel.
408 Returns the information about the optimum modes for the specified IDE device.
411 a specific device. The IDE controller driver takes into account the following
413 - The IdentifyData inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.SubmitData()
414 - The BadModes inputs to EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode()
420 The IDE controller driver will use controller- and possibly platform-specific
421 algorithms to arrive at SupportedModes. The IDE controller may base its
424 with the IDE controller driver using EFI_IDE_CONTROLLER_INIT_PROTOCOL.DisqualifyMode().
438 The IDE controller driver for a Serial ATA (SATA) controller can use this
439 member function to force a lower speed (first-generation [Gen1] speeds on a
440 second-generation [Gen2]-capable hardware). The IDE controller driver can
445 @param[in] Channel A zero-based channel number.
446 @param[in] Device A zero-based device number on the Channel.
471 Commands the IDE controller driver to program the IDE controller hardware
474 This function is used by the driver entity to instruct the IDE controller
475 driver to program the IDE controller hardware to the specified modes. This
477 (SATA) Advanced Host Controller Interface (AHCI) controller, no controller-
481 @param[in] Channel Zero-based channel number.
482 @param[in] Device Zero-based device number on the Channel.
503 /// Provides the basic interfaces to abstract an IDE controller.
524 /// IDE device does not support these modes and these modes should not be
530 /// Calculates and returns the optimum mode for a particular IDE device.
535 /// Programs the IDE controller hardware to the default timing or per the modes