xref: /illumos-gate/usr/src/man/man9e/mc_start.9e (revision 72d3dbb9ab4481606cb93caca98ba3b3a8eb6ce2)
152d2369aSRobert Mustacchi.\"
252d2369aSRobert Mustacchi.\" This file and its contents are supplied under the terms of the
352d2369aSRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
452d2369aSRobert Mustacchi.\" You may only use this file in accordance with the terms of version
552d2369aSRobert Mustacchi.\" 1.0 of the CDDL.
652d2369aSRobert Mustacchi.\"
752d2369aSRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
852d2369aSRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
952d2369aSRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1052d2369aSRobert Mustacchi.\"
1152d2369aSRobert Mustacchi.\"
1252d2369aSRobert Mustacchi.\" Copyright 2016 Joyent, Inc.
1352d2369aSRobert Mustacchi.\"
1452d2369aSRobert Mustacchi.Dd May 31, 2016
1552d2369aSRobert Mustacchi.Dt MC_START 9E
1652d2369aSRobert Mustacchi.Os
1752d2369aSRobert Mustacchi.Sh NAME
1852d2369aSRobert Mustacchi.Nm mc_start ,
1952d2369aSRobert Mustacchi.Nm mc_stop
2052d2369aSRobert Mustacchi.Nd start and stop device entry points
2152d2369aSRobert Mustacchi.Sh SYNOPSIS
2252d2369aSRobert Mustacchi.In sys/mac_provider.h
2352d2369aSRobert Mustacchi.Ft int
2452d2369aSRobert Mustacchi.Fo prefix_m_start
2552d2369aSRobert Mustacchi.Fa "void *driver"
2652d2369aSRobert Mustacchi.Fc
2752d2369aSRobert Mustacchi.Ft void
2852d2369aSRobert Mustacchi.Fo prefix_m_stop
2952d2369aSRobert Mustacchi.Fa "void *driver"
3052d2369aSRobert Mustacchi.Fc
3152d2369aSRobert Mustacchi.Sh INTERFACE LEVEL
3252d2369aSRobert Mustacchiillumos DDI specific
3352d2369aSRobert Mustacchi.Sh PARAMETERS
3452d2369aSRobert Mustacchi.Bl -tag -width Ds
3552d2369aSRobert Mustacchi.It Fa driver
3652d2369aSRobert MustacchiA pointer to the driver's private data that was passed in via the
3752d2369aSRobert Mustacchi.Sy m_pdata
3852d2369aSRobert Mustacchimember of the
3952d2369aSRobert Mustacchi.Xr mac_register 9S
4052d2369aSRobert Mustacchistructure to the
4152d2369aSRobert Mustacchi.Xr mac_register 9F
4252d2369aSRobert Mustacchifunction.
4352d2369aSRobert Mustacchi.El
4452d2369aSRobert Mustacchi.Sh DESCRIPTION
4552d2369aSRobert MustacchiThe
4652d2369aSRobert Mustacchi.Fn mc_start
4752d2369aSRobert Mustacchientry point for a driver indicates that it should initialize the chip
48*72d3dbb9SYuri Pankovto be ready to send or receive data.
49*72d3dbb9SYuri PankovThis entry point is guaranteed to be called before any entry points that are
50*72d3dbb9SYuri Pankovexpected to be able to send and receive data.
51*72d3dbb9SYuri PankovDuring this entry point, most devices will allocate DMA resources, enable the
52*72d3dbb9SYuri Pankovlink, and finish performing any necessary device programming.
5352d2369aSRobert Mustacchi.Pp
5452d2369aSRobert MustacchiThe
5552d2369aSRobert Mustacchi.Fn mc_stop
5652d2369aSRobert Mustacchientry point for a driver indicates that it should tear down any
5752d2369aSRobert Mustacchiallocated resources for the driver and, after the function returns, it is
5852d2369aSRobert Mustacchinot expected to perform any additional I/O.
5952d2369aSRobert Mustacchi.Pp
6052d2369aSRobert MustacchiThe driver has access to its private data in the
6152d2369aSRobert Mustacchi.Fa driver
6252d2369aSRobert Mustacchiargument to either function, which it should cast to the
63*72d3dbb9SYuri Pankovappropriate structure.
64*72d3dbb9SYuri PankovThe system guarantees that only one of the
6552d2369aSRobert Mustacchi.Fn mc_start
6652d2369aSRobert Mustacchiand
6752d2369aSRobert Mustacchi.Fn mc_stop
6852d2369aSRobert Mustacchifunctions will be called at any given time for a given instance.
6952d2369aSRobert MustacchiSimilarly, these should not be called at the same time as a device's
7052d2369aSRobert Mustacchi.Xr attach 9E
7152d2369aSRobert Mustacchior
7252d2369aSRobert Mustacchi.Xr detach 9E
73*72d3dbb9SYuri Pankovroutine.
74*72d3dbb9SYuri PankovHowever, the driver may have other ongoing routines that it needs to protect
75*72d3dbb9SYuri Pankovagainst.
76*72d3dbb9SYuri PankovThe device driver should always apply the appropriate locking techniques needed
77*72d3dbb9SYuri Pankovto ensure that access to the data in its soft state is protected.
7852d2369aSRobert Mustacchi.Sh RETURN VALUES
7952d2369aSRobert MustacchiUpon successful completion, device drivers should return
8052d2369aSRobert Mustacchi.Sy 0
8152d2369aSRobert Mustacchifor the
8252d2369aSRobert Mustacchi.Fn mc_start
83*72d3dbb9SYuri Pankoventry point.
84*72d3dbb9SYuri PankovOtherwise, they should return a non-zero positive error number to indicate the
85*72d3dbb9SYuri Pankoverror that occurred.
8652d2369aSRobert Mustacchi.Sh SEE ALSO
8752d2369aSRobert Mustacchi.Xr mac 9E ,
8852d2369aSRobert Mustacchi.Xr mac_register 9F ,
8952d2369aSRobert Mustacchi.Xr mac_register 9S
90