提交 65c17b80 编写于 作者: D Dean Nelson 提交者: Linus Torvalds

drivers/misc/sgi-xp: clean up return values

Make XP return values more generic to XP and not so tied to XPC by changing
enum xpc_retval to xp_retval, along with changing return value prefixes from
xpc to xp.  Also, cleanup a comment block that referenced some of these return
values as well as the handling of BTE related return values.
Signed-off-by: NDean Nelson <dcn@sgi.com>
Acked-by: NRobin Holt <holt@sgi.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 0cf942d7
...@@ -157,215 +157,136 @@ struct xpc_msg { ...@@ -157,215 +157,136 @@ struct xpc_msg {
/* /*
* Define the return values and values passed to user's callout functions. * Define the return values and values passed to user's callout functions.
* (It is important to add new value codes at the end just preceding * (It is important to add new value codes at the end just preceding
* xpcUnknownReason, which must have the highest numerical value.) * xpUnknownReason, which must have the highest numerical value.)
*/ */
enum xpc_retval { enum xp_retval {
xpcSuccess = 0, xpSuccess = 0,
xpcNotConnected, /* 1: channel is not connected */ xpNotConnected, /* 1: channel is not connected */
xpcConnected, /* 2: channel connected (opened) */ xpConnected, /* 2: channel connected (opened) */
xpcRETIRED1, /* 3: (formerly xpcDisconnected) */ xpRETIRED1, /* 3: (formerly xpDisconnected) */
xpcMsgReceived, /* 4: message received */ xpMsgReceived, /* 4: message received */
xpcMsgDelivered, /* 5: message delivered and acknowledged */ xpMsgDelivered, /* 5: message delivered and acknowledged */
xpcRETIRED2, /* 6: (formerly xpcTransferFailed) */ xpRETIRED2, /* 6: (formerly xpTransferFailed) */
xpcNoWait, /* 7: operation would require wait */ xpNoWait, /* 7: operation would require wait */
xpcRetry, /* 8: retry operation */ xpRetry, /* 8: retry operation */
xpcTimeout, /* 9: timeout in xpc_allocate_msg_wait() */ xpTimeout, /* 9: timeout in xpc_allocate_msg_wait() */
xpcInterrupted, /* 10: interrupted wait */ xpInterrupted, /* 10: interrupted wait */
xpcUnequalMsgSizes, /* 11: message size disparity between sides */ xpUnequalMsgSizes, /* 11: message size disparity between sides */
xpcInvalidAddress, /* 12: invalid address */ xpInvalidAddress, /* 12: invalid address */
xpcNoMemory, /* 13: no memory available for XPC structures */ xpNoMemory, /* 13: no memory available for XPC structures */
xpcLackOfResources, /* 14: insufficient resources for operation */ xpLackOfResources, /* 14: insufficient resources for operation */
xpcUnregistered, /* 15: channel is not registered */ xpUnregistered, /* 15: channel is not registered */
xpcAlreadyRegistered, /* 16: channel is already registered */ xpAlreadyRegistered, /* 16: channel is already registered */
xpcPartitionDown, /* 17: remote partition is down */ xpPartitionDown, /* 17: remote partition is down */
xpcNotLoaded, /* 18: XPC module is not loaded */ xpNotLoaded, /* 18: XPC module is not loaded */
xpcUnloading, /* 19: this side is unloading XPC module */ xpUnloading, /* 19: this side is unloading XPC module */
xpcBadMagic, /* 20: XPC MAGIC string not found */ xpBadMagic, /* 20: XPC MAGIC string not found */
xpcReactivating, /* 21: remote partition was reactivated */ xpReactivating, /* 21: remote partition was reactivated */
xpcUnregistering, /* 22: this side is unregistering channel */ xpUnregistering, /* 22: this side is unregistering channel */
xpcOtherUnregistering, /* 23: other side is unregistering channel */ xpOtherUnregistering, /* 23: other side is unregistering channel */
xpcCloneKThread, /* 24: cloning kernel thread */ xpCloneKThread, /* 24: cloning kernel thread */
xpcCloneKThreadFailed, /* 25: cloning kernel thread failed */ xpCloneKThreadFailed, /* 25: cloning kernel thread failed */
xpcNoHeartbeat, /* 26: remote partition has no heartbeat */ xpNoHeartbeat, /* 26: remote partition has no heartbeat */
xpcPioReadError, /* 27: PIO read error */ xpPioReadError, /* 27: PIO read error */
xpcPhysAddrRegFailed, /* 28: registration of phys addr range failed */ xpPhysAddrRegFailed, /* 28: registration of phys addr range failed */
xpcBteDirectoryError, /* 29: maps to BTEFAIL_DIR */ xpRETIRED3, /* 29: (formerly xpBteDirectoryError) */
xpcBtePoisonError, /* 30: maps to BTEFAIL_POISON */ xpRETIRED4, /* 30: (formerly xpBtePoisonError) */
xpcBteWriteError, /* 31: maps to BTEFAIL_WERR */ xpRETIRED5, /* 31: (formerly xpBteWriteError) */
xpcBteAccessError, /* 32: maps to BTEFAIL_ACCESS */ xpRETIRED6, /* 32: (formerly xpBteAccessError) */
xpcBtePWriteError, /* 33: maps to BTEFAIL_PWERR */ xpRETIRED7, /* 33: (formerly xpBtePWriteError) */
xpcBtePReadError, /* 34: maps to BTEFAIL_PRERR */ xpRETIRED8, /* 34: (formerly xpBtePReadError) */
xpcBteTimeOutError, /* 35: maps to BTEFAIL_TOUT */ xpRETIRED9, /* 35: (formerly xpBteTimeOutError) */
xpcBteXtalkError, /* 36: maps to BTEFAIL_XTERR */ xpRETIRED10, /* 36: (formerly xpBteXtalkError) */
xpcBteNotAvailable, /* 37: maps to BTEFAIL_NOTAVAIL */ xpRETIRED11, /* 37: (formerly xpBteNotAvailable) */
xpcBteUnmappedError, /* 38: unmapped BTEFAIL_ error */ xpRETIRED12, /* 38: (formerly xpBteUnmappedError) */
xpcBadVersion, /* 39: bad version number */ xpBadVersion, /* 39: bad version number */
xpcVarsNotSet, /* 40: the XPC variables are not set up */ xpVarsNotSet, /* 40: the XPC variables are not set up */
xpcNoRsvdPageAddr, /* 41: unable to get rsvd page's phys addr */ xpNoRsvdPageAddr, /* 41: unable to get rsvd page's phys addr */
xpcInvalidPartid, /* 42: invalid partition ID */ xpInvalidPartid, /* 42: invalid partition ID */
xpcLocalPartid, /* 43: local partition ID */ xpLocalPartid, /* 43: local partition ID */
xpcOtherGoingDown, /* 44: other side going down, reason unknown */ xpOtherGoingDown, /* 44: other side going down, reason unknown */
xpcSystemGoingDown, /* 45: system is going down, reason unknown */ xpSystemGoingDown, /* 45: system is going down, reason unknown */
xpcSystemHalt, /* 46: system is being halted */ xpSystemHalt, /* 46: system is being halted */
xpcSystemReboot, /* 47: system is being rebooted */ xpSystemReboot, /* 47: system is being rebooted */
xpcSystemPoweroff, /* 48: system is being powered off */ xpSystemPoweroff, /* 48: system is being powered off */
xpcDisconnecting, /* 49: channel disconnecting (closing) */ xpDisconnecting, /* 49: channel disconnecting (closing) */
xpcOpenCloseError, /* 50: channel open/close protocol error */ xpOpenCloseError, /* 50: channel open/close protocol error */
xpcDisconnected, /* 51: channel disconnected (closed) */ xpDisconnected, /* 51: channel disconnected (closed) */
xpcBteSh2Start, /* 52: BTE CRB timeout */ xpBteCopyError, /* 52: bte_copy() returned error */
/* 53: 0x1 BTE Error Response Short */ xpUnknownReason /* 53: unknown reason - must be last in enum */
xpcBteSh2RspShort = xpcBteSh2Start + BTEFAIL_SH2_RESP_SHORT,
/* 54: 0x2 BTE Error Response Long */
xpcBteSh2RspLong = xpcBteSh2Start + BTEFAIL_SH2_RESP_LONG,
/* 56: 0x4 BTE Error Response DSB */
xpcBteSh2RspDSB = xpcBteSh2Start + BTEFAIL_SH2_RESP_DSP,
/* 60: 0x8 BTE Error Response Access */
xpcBteSh2RspAccess = xpcBteSh2Start + BTEFAIL_SH2_RESP_ACCESS,
/* 68: 0x10 BTE Error CRB timeout */
xpcBteSh2CRBTO = xpcBteSh2Start + BTEFAIL_SH2_CRB_TO,
/* 84: 0x20 BTE Error NACK limit */
xpcBteSh2NACKLimit = xpcBteSh2Start + BTEFAIL_SH2_NACK_LIMIT,
/* 115: BTE end */
xpcBteSh2End = xpcBteSh2Start + BTEFAIL_SH2_ALL,
xpcUnknownReason /* 116: unknown reason - must be last in enum */
}; };
/* /*
* Define the callout function types used by XPC to update the user on * Define the callout function type used by XPC to update the user on
* connection activity and state changes (via the user function registered by * connection activity and state changes via the user function registered
* xpc_connect()) and to notify them of messages received and delivered (via * by xpc_connect().
* the user function registered by xpc_send_notify()).
*
* The two function types are xpc_channel_func and xpc_notify_func and
* both share the following arguments, with the exception of "data", which
* only xpc_channel_func has.
* *
* Arguments: * Arguments:
* *
* reason - reason code. (See following table.) * reason - reason code.
* partid - partition ID associated with condition. * partid - partition ID associated with condition.
* ch_number - channel # associated with condition. * ch_number - channel # associated with condition.
* data - pointer to optional data. (See following table.) * data - pointer to optional data.
* key - pointer to optional user-defined value provided as the "key" * key - pointer to optional user-defined value provided as the "key"
* argument to xpc_connect() or xpc_send_notify(). * argument to xpc_connect().
* *
* In the following table the "Optional Data" column applies to callouts made * A reason code of xpConnected indicates that a connection has been
* to functions registered by xpc_connect(). A "NA" in that column indicates * established to the specified partition on the specified channel. The data
* that this reason code can be passed to functions registered by * argument indicates the max number of entries allowed in the message queue.
* xpc_send_notify() (i.e. they don't have data arguments).
* *
* Also, the first three reason codes in the following table indicate * A reason code of xpMsgReceived indicates that a XPC message arrived from
* success, whereas the others indicate failure. When a failure reason code * the specified partition on the specified channel. The data argument
* is received, one can assume that the channel is not connected. * specifies the address of the message's payload. The user must call
* xpc_received() when finished with the payload.
* *
* * All other reason codes indicate failure. The data argmument is NULL.
* Reason Code | Cause | Optional Data * When a failure reason code is received, one can assume that the channel
* =====================+================================+===================== * is not connected.
* xpcConnected | connection has been established| max #of entries
* | to the specified partition on | allowed in message
* | the specified channel | queue
* ---------------------+--------------------------------+---------------------
* xpcMsgReceived | an XPC message arrived from | address of payload
* | the specified partition on the |
* | specified channel | [the user must call
* | | xpc_received() when
* | | finished with the
* | | payload]
* ---------------------+--------------------------------+---------------------
* xpcMsgDelivered | notification that the message | NA
* | was delivered to the intended |
* | recipient and that they have |
* | acknowledged its receipt by |
* | calling xpc_received() |
* =====================+================================+=====================
* xpcUnequalMsgSizes | can't connect to the specified | NULL
* | partition on the specified |
* | channel because of mismatched |
* | message sizes |
* ---------------------+--------------------------------+---------------------
* xpcNoMemory | insufficient memory avaiable | NULL
* | to allocate message queue |
* ---------------------+--------------------------------+---------------------
* xpcLackOfResources | lack of resources to create | NULL
* | the necessary kthreads to |
* | support the channel |
* ---------------------+--------------------------------+---------------------
* xpcUnregistering | this side's user has | NULL or NA
* | unregistered by calling |
* | xpc_disconnect() |
* ---------------------+--------------------------------+---------------------
* xpcOtherUnregistering| the other side's user has | NULL or NA
* | unregistered by calling |
* | xpc_disconnect() |
* ---------------------+--------------------------------+---------------------
* xpcNoHeartbeat | the other side's XPC is no | NULL or NA
* | longer heartbeating |
* | |
* ---------------------+--------------------------------+---------------------
* xpcUnloading | this side's XPC module is | NULL or NA
* | being unloaded |
* | |
* ---------------------+--------------------------------+---------------------
* xpcOtherUnloading | the other side's XPC module is | NULL or NA
* | is being unloaded |
* | |
* ---------------------+--------------------------------+---------------------
* xpcPioReadError | xp_nofault_PIOR() returned an | NULL or NA
* | error while sending an IPI |
* | |
* ---------------------+--------------------------------+---------------------
* xpcInvalidAddress | the address either received or | NULL or NA
* | sent by the specified partition|
* | is invalid |
* ---------------------+--------------------------------+---------------------
* xpcBteNotAvailable | attempt to pull data from the | NULL or NA
* xpcBtePoisonError | specified partition over the |
* xpcBteWriteError | specified channel via a |
* xpcBteAccessError | bte_copy() failed |
* xpcBteTimeOutError | |
* xpcBteXtalkError | |
* xpcBteDirectoryError | |
* xpcBteGenericError | |
* xpcBteUnmappedError | |
* ---------------------+--------------------------------+---------------------
* xpcUnknownReason | the specified channel to the | NULL or NA
* | specified partition was |
* | unavailable for unknown reasons|
* =====================+================================+=====================
*/ */
typedef void (*xpc_channel_func) (enum xp_retval reason, partid_t partid,
typedef void (*xpc_channel_func) (enum xpc_retval reason, partid_t partid,
int ch_number, void *data, void *key); int ch_number, void *data, void *key);
typedef void (*xpc_notify_func) (enum xpc_retval reason, partid_t partid, /*
* Define the callout function type used by XPC to notify the user of
* messages received and delivered via the user function registered by
* xpc_send_notify().
*
* Arguments:
*
* reason - reason code.
* partid - partition ID associated with condition.
* ch_number - channel # associated with condition.
* key - pointer to optional user-defined value provided as the "key"
* argument to xpc_send_notify().
*
* A reason code of xpMsgDelivered indicates that the message was delivered
* to the intended recipient and that they have acknowledged its receipt by
* calling xpc_received().
*
* All other reason codes indicate failure.
*/
typedef void (*xpc_notify_func) (enum xp_retval reason, partid_t partid,
int ch_number, void *key); int ch_number, void *key);
/* /*
...@@ -401,43 +322,43 @@ struct xpc_registration { ...@@ -401,43 +322,43 @@ struct xpc_registration {
struct xpc_interface { struct xpc_interface {
void (*connect) (int); void (*connect) (int);
void (*disconnect) (int); void (*disconnect) (int);
enum xpc_retval (*allocate) (partid_t, int, u32, void **); enum xp_retval (*allocate) (partid_t, int, u32, void **);
enum xpc_retval (*send) (partid_t, int, void *); enum xp_retval (*send) (partid_t, int, void *);
enum xpc_retval (*send_notify) (partid_t, int, void *, enum xp_retval (*send_notify) (partid_t, int, void *,
xpc_notify_func, void *); xpc_notify_func, void *);
void (*received) (partid_t, int, void *); void (*received) (partid_t, int, void *);
enum xpc_retval (*partid_to_nasids) (partid_t, void *); enum xp_retval (*partid_to_nasids) (partid_t, void *);
}; };
extern struct xpc_interface xpc_interface; extern struct xpc_interface xpc_interface;
extern void xpc_set_interface(void (*)(int), extern void xpc_set_interface(void (*)(int),
void (*)(int), void (*)(int),
enum xpc_retval (*)(partid_t, int, u32, void **), enum xp_retval (*)(partid_t, int, u32, void **),
enum xpc_retval (*)(partid_t, int, void *), enum xp_retval (*)(partid_t, int, void *),
enum xpc_retval (*)(partid_t, int, void *, enum xp_retval (*)(partid_t, int, void *,
xpc_notify_func, void *), xpc_notify_func, void *),
void (*)(partid_t, int, void *), void (*)(partid_t, int, void *),
enum xpc_retval (*)(partid_t, void *)); enum xp_retval (*)(partid_t, void *));
extern void xpc_clear_interface(void); extern void xpc_clear_interface(void);
extern enum xpc_retval xpc_connect(int, xpc_channel_func, void *, u16, extern enum xp_retval xpc_connect(int, xpc_channel_func, void *, u16,
u16, u32, u32); u16, u32, u32);
extern void xpc_disconnect(int); extern void xpc_disconnect(int);
static inline enum xpc_retval static inline enum xp_retval
xpc_allocate(partid_t partid, int ch_number, u32 flags, void **payload) xpc_allocate(partid_t partid, int ch_number, u32 flags, void **payload)
{ {
return xpc_interface.allocate(partid, ch_number, flags, payload); return xpc_interface.allocate(partid, ch_number, flags, payload);
} }
static inline enum xpc_retval static inline enum xp_retval
xpc_send(partid_t partid, int ch_number, void *payload) xpc_send(partid_t partid, int ch_number, void *payload)
{ {
return xpc_interface.send(partid, ch_number, payload); return xpc_interface.send(partid, ch_number, payload);
} }
static inline enum xpc_retval static inline enum xp_retval
xpc_send_notify(partid_t partid, int ch_number, void *payload, xpc_send_notify(partid_t partid, int ch_number, void *payload,
xpc_notify_func func, void *key) xpc_notify_func func, void *key)
{ {
...@@ -450,7 +371,7 @@ xpc_received(partid_t partid, int ch_number, void *payload) ...@@ -450,7 +371,7 @@ xpc_received(partid_t partid, int ch_number, void *payload)
return xpc_interface.received(partid, ch_number, payload); return xpc_interface.received(partid, ch_number, payload);
} }
static inline enum xpc_retval static inline enum xp_retval
xpc_partid_to_nasids(partid_t partid, void *nasids) xpc_partid_to_nasids(partid_t partid, void *nasids)
{ {
return xpc_interface.partid_to_nasids(partid, nasids); return xpc_interface.partid_to_nasids(partid, nasids);
......
...@@ -42,21 +42,21 @@ EXPORT_SYMBOL_GPL(xpc_registrations); ...@@ -42,21 +42,21 @@ EXPORT_SYMBOL_GPL(xpc_registrations);
/* /*
* Initialize the XPC interface to indicate that XPC isn't loaded. * Initialize the XPC interface to indicate that XPC isn't loaded.
*/ */
static enum xpc_retval static enum xp_retval
xpc_notloaded(void) xpc_notloaded(void)
{ {
return xpcNotLoaded; return xpNotLoaded;
} }
struct xpc_interface xpc_interface = { struct xpc_interface xpc_interface = {
(void (*)(int))xpc_notloaded, (void (*)(int))xpc_notloaded,
(void (*)(int))xpc_notloaded, (void (*)(int))xpc_notloaded,
(enum xpc_retval(*)(partid_t, int, u32, void **))xpc_notloaded, (enum xp_retval(*)(partid_t, int, u32, void **))xpc_notloaded,
(enum xpc_retval(*)(partid_t, int, void *))xpc_notloaded, (enum xp_retval(*)(partid_t, int, void *))xpc_notloaded,
(enum xpc_retval(*)(partid_t, int, void *, xpc_notify_func, void *)) (enum xp_retval(*)(partid_t, int, void *, xpc_notify_func, void *))
xpc_notloaded, xpc_notloaded,
(void (*)(partid_t, int, void *))xpc_notloaded, (void (*)(partid_t, int, void *))xpc_notloaded,
(enum xpc_retval(*)(partid_t, void *))xpc_notloaded (enum xp_retval(*)(partid_t, void *))xpc_notloaded
}; };
EXPORT_SYMBOL_GPL(xpc_interface); EXPORT_SYMBOL_GPL(xpc_interface);
...@@ -66,12 +66,12 @@ EXPORT_SYMBOL_GPL(xpc_interface); ...@@ -66,12 +66,12 @@ EXPORT_SYMBOL_GPL(xpc_interface);
void void
xpc_set_interface(void (*connect) (int), xpc_set_interface(void (*connect) (int),
void (*disconnect) (int), void (*disconnect) (int),
enum xpc_retval (*allocate) (partid_t, int, u32, void **), enum xp_retval (*allocate) (partid_t, int, u32, void **),
enum xpc_retval (*send) (partid_t, int, void *), enum xp_retval (*send) (partid_t, int, void *),
enum xpc_retval (*send_notify) (partid_t, int, void *, enum xp_retval (*send_notify) (partid_t, int, void *,
xpc_notify_func, void *), xpc_notify_func, void *),
void (*received) (partid_t, int, void *), void (*received) (partid_t, int, void *),
enum xpc_retval (*partid_to_nasids) (partid_t, void *)) enum xp_retval (*partid_to_nasids) (partid_t, void *))
{ {
xpc_interface.connect = connect; xpc_interface.connect = connect;
xpc_interface.disconnect = disconnect; xpc_interface.disconnect = disconnect;
...@@ -91,16 +91,16 @@ xpc_clear_interface(void) ...@@ -91,16 +91,16 @@ xpc_clear_interface(void)
{ {
xpc_interface.connect = (void (*)(int))xpc_notloaded; xpc_interface.connect = (void (*)(int))xpc_notloaded;
xpc_interface.disconnect = (void (*)(int))xpc_notloaded; xpc_interface.disconnect = (void (*)(int))xpc_notloaded;
xpc_interface.allocate = (enum xpc_retval(*)(partid_t, int, u32, xpc_interface.allocate = (enum xp_retval(*)(partid_t, int, u32,
void **))xpc_notloaded; void **))xpc_notloaded;
xpc_interface.send = (enum xpc_retval(*)(partid_t, int, void *)) xpc_interface.send = (enum xp_retval(*)(partid_t, int, void *))
xpc_notloaded; xpc_notloaded;
xpc_interface.send_notify = (enum xpc_retval(*)(partid_t, int, void *, xpc_interface.send_notify = (enum xp_retval(*)(partid_t, int, void *,
xpc_notify_func, xpc_notify_func,
void *))xpc_notloaded; void *))xpc_notloaded;
xpc_interface.received = (void (*)(partid_t, int, void *)) xpc_interface.received = (void (*)(partid_t, int, void *))
xpc_notloaded; xpc_notloaded;
xpc_interface.partid_to_nasids = (enum xpc_retval(*)(partid_t, void *)) xpc_interface.partid_to_nasids = (enum xp_retval(*)(partid_t, void *))
xpc_notloaded; xpc_notloaded;
} }
EXPORT_SYMBOL_GPL(xpc_clear_interface); EXPORT_SYMBOL_GPL(xpc_clear_interface);
...@@ -123,13 +123,13 @@ EXPORT_SYMBOL_GPL(xpc_clear_interface); ...@@ -123,13 +123,13 @@ EXPORT_SYMBOL_GPL(xpc_clear_interface);
* nentries - max #of XPC message entries a message queue can contain. * nentries - max #of XPC message entries a message queue can contain.
* The actual number, which is determined when a connection * The actual number, which is determined when a connection
* is established and may be less then requested, will be * is established and may be less then requested, will be
* passed to the user via the xpcConnected callout. * passed to the user via the xpConnected callout.
* assigned_limit - max number of kthreads allowed to be processing * assigned_limit - max number of kthreads allowed to be processing
* messages (per connection) at any given instant. * messages (per connection) at any given instant.
* idle_limit - max number of kthreads allowed to be idle at any given * idle_limit - max number of kthreads allowed to be idle at any given
* instant. * instant.
*/ */
enum xpc_retval enum xp_retval
xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size, xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size,
u16 nentries, u32 assigned_limit, u32 idle_limit) u16 nentries, u32 assigned_limit, u32 idle_limit)
{ {
...@@ -143,12 +143,12 @@ xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size, ...@@ -143,12 +143,12 @@ xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size,
registration = &xpc_registrations[ch_number]; registration = &xpc_registrations[ch_number];
if (mutex_lock_interruptible(&registration->mutex) != 0) if (mutex_lock_interruptible(&registration->mutex) != 0)
return xpcInterrupted; return xpInterrupted;
/* if XPC_CHANNEL_REGISTERED(ch_number) */ /* if XPC_CHANNEL_REGISTERED(ch_number) */
if (registration->func != NULL) { if (registration->func != NULL) {
mutex_unlock(&registration->mutex); mutex_unlock(&registration->mutex);
return xpcAlreadyRegistered; return xpAlreadyRegistered;
} }
/* register the channel for connection */ /* register the channel for connection */
...@@ -163,7 +163,7 @@ xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size, ...@@ -163,7 +163,7 @@ xpc_connect(int ch_number, xpc_channel_func func, void *key, u16 payload_size,
xpc_interface.connect(ch_number); xpc_interface.connect(ch_number);
return xpcSuccess; return xpSuccess;
} }
EXPORT_SYMBOL_GPL(xpc_connect); EXPORT_SYMBOL_GPL(xpc_connect);
......
...@@ -412,7 +412,7 @@ struct xpc_channel { ...@@ -412,7 +412,7 @@ struct xpc_channel {
spinlock_t lock; /* lock for updating this structure */ spinlock_t lock; /* lock for updating this structure */
u32 flags; /* general flags */ u32 flags; /* general flags */
enum xpc_retval reason; /* reason why channel is disconnect'g */ enum xp_retval reason; /* reason why channel is disconnect'g */
int reason_line; /* line# disconnect initiated from */ int reason_line; /* line# disconnect initiated from */
u16 number; /* channel # */ u16 number; /* channel # */
...@@ -522,7 +522,7 @@ struct xpc_partition { ...@@ -522,7 +522,7 @@ struct xpc_partition {
spinlock_t act_lock; /* protect updating of act_state */ spinlock_t act_lock; /* protect updating of act_state */
u8 act_state; /* from XPC HB viewpoint */ u8 act_state; /* from XPC HB viewpoint */
u8 remote_vars_version; /* version# of partition's vars */ u8 remote_vars_version; /* version# of partition's vars */
enum xpc_retval reason; /* reason partition is deactivating */ enum xp_retval reason; /* reason partition is deactivating */
int reason_line; /* line# deactivation initiated from */ int reason_line; /* line# deactivation initiated from */
int reactivate_nasid; /* nasid in partition to reactivate */ int reactivate_nasid; /* nasid in partition to reactivate */
...@@ -646,31 +646,31 @@ extern void xpc_allow_IPI_ops(void); ...@@ -646,31 +646,31 @@ extern void xpc_allow_IPI_ops(void);
extern void xpc_restrict_IPI_ops(void); extern void xpc_restrict_IPI_ops(void);
extern int xpc_identify_act_IRQ_sender(void); extern int xpc_identify_act_IRQ_sender(void);
extern int xpc_partition_disengaged(struct xpc_partition *); extern int xpc_partition_disengaged(struct xpc_partition *);
extern enum xpc_retval xpc_mark_partition_active(struct xpc_partition *); extern enum xp_retval xpc_mark_partition_active(struct xpc_partition *);
extern void xpc_mark_partition_inactive(struct xpc_partition *); extern void xpc_mark_partition_inactive(struct xpc_partition *);
extern void xpc_discovery(void); extern void xpc_discovery(void);
extern void xpc_check_remote_hb(void); extern void xpc_check_remote_hb(void);
extern void xpc_deactivate_partition(const int, struct xpc_partition *, extern void xpc_deactivate_partition(const int, struct xpc_partition *,
enum xpc_retval); enum xp_retval);
extern enum xpc_retval xpc_initiate_partid_to_nasids(partid_t, void *); extern enum xp_retval xpc_initiate_partid_to_nasids(partid_t, void *);
/* found in xpc_channel.c */ /* found in xpc_channel.c */
extern void xpc_initiate_connect(int); extern void xpc_initiate_connect(int);
extern void xpc_initiate_disconnect(int); extern void xpc_initiate_disconnect(int);
extern enum xpc_retval xpc_initiate_allocate(partid_t, int, u32, void **); extern enum xp_retval xpc_initiate_allocate(partid_t, int, u32, void **);
extern enum xpc_retval xpc_initiate_send(partid_t, int, void *); extern enum xp_retval xpc_initiate_send(partid_t, int, void *);
extern enum xpc_retval xpc_initiate_send_notify(partid_t, int, void *, extern enum xp_retval xpc_initiate_send_notify(partid_t, int, void *,
xpc_notify_func, void *); xpc_notify_func, void *);
extern void xpc_initiate_received(partid_t, int, void *); extern void xpc_initiate_received(partid_t, int, void *);
extern enum xpc_retval xpc_setup_infrastructure(struct xpc_partition *); extern enum xp_retval xpc_setup_infrastructure(struct xpc_partition *);
extern enum xpc_retval xpc_pull_remote_vars_part(struct xpc_partition *); extern enum xp_retval xpc_pull_remote_vars_part(struct xpc_partition *);
extern void xpc_process_channel_activity(struct xpc_partition *); extern void xpc_process_channel_activity(struct xpc_partition *);
extern void xpc_connected_callout(struct xpc_channel *); extern void xpc_connected_callout(struct xpc_channel *);
extern void xpc_deliver_msg(struct xpc_channel *); extern void xpc_deliver_msg(struct xpc_channel *);
extern void xpc_disconnect_channel(const int, struct xpc_channel *, extern void xpc_disconnect_channel(const int, struct xpc_channel *,
enum xpc_retval, unsigned long *); enum xp_retval, unsigned long *);
extern void xpc_disconnect_callout(struct xpc_channel *, enum xpc_retval); extern void xpc_disconnect_callout(struct xpc_channel *, enum xp_retval);
extern void xpc_partition_going_down(struct xpc_partition *, enum xpc_retval); extern void xpc_partition_going_down(struct xpc_partition *, enum xp_retval);
extern void xpc_teardown_infrastructure(struct xpc_partition *); extern void xpc_teardown_infrastructure(struct xpc_partition *);
static inline void static inline void
...@@ -901,7 +901,7 @@ xpc_IPI_receive(AMO_t *amo) ...@@ -901,7 +901,7 @@ xpc_IPI_receive(AMO_t *amo)
return FETCHOP_LOAD_OP(TO_AMO((u64)&amo->variable), FETCHOP_CLEAR); return FETCHOP_LOAD_OP(TO_AMO((u64)&amo->variable), FETCHOP_CLEAR);
} }
static inline enum xpc_retval static inline enum xp_retval
xpc_IPI_send(AMO_t *amo, u64 flag, int nasid, int phys_cpuid, int vector) xpc_IPI_send(AMO_t *amo, u64 flag, int nasid, int phys_cpuid, int vector)
{ {
int ret = 0; int ret = 0;
...@@ -923,7 +923,7 @@ xpc_IPI_send(AMO_t *amo, u64 flag, int nasid, int phys_cpuid, int vector) ...@@ -923,7 +923,7 @@ xpc_IPI_send(AMO_t *amo, u64 flag, int nasid, int phys_cpuid, int vector)
local_irq_restore(irq_flags); local_irq_restore(irq_flags);
return ((ret == 0) ? xpcSuccess : xpcPioReadError); return ((ret == 0) ? xpSuccess : xpPioReadError);
} }
/* /*
...@@ -992,7 +992,7 @@ xpc_notify_IRQ_send(struct xpc_channel *ch, u8 ipi_flag, char *ipi_flag_string, ...@@ -992,7 +992,7 @@ xpc_notify_IRQ_send(struct xpc_channel *ch, u8 ipi_flag, char *ipi_flag_string,
unsigned long *irq_flags) unsigned long *irq_flags)
{ {
struct xpc_partition *part = &xpc_partitions[ch->partid]; struct xpc_partition *part = &xpc_partitions[ch->partid];
enum xpc_retval ret; enum xp_retval ret;
if (likely(part->act_state != XPC_P_DEACTIVATING)) { if (likely(part->act_state != XPC_P_DEACTIVATING)) {
ret = xpc_IPI_send(part->remote_IPI_amo_va, ret = xpc_IPI_send(part->remote_IPI_amo_va,
...@@ -1001,7 +1001,7 @@ xpc_notify_IRQ_send(struct xpc_channel *ch, u8 ipi_flag, char *ipi_flag_string, ...@@ -1001,7 +1001,7 @@ xpc_notify_IRQ_send(struct xpc_channel *ch, u8 ipi_flag, char *ipi_flag_string,
part->remote_IPI_phys_cpuid, SGI_XPC_NOTIFY); part->remote_IPI_phys_cpuid, SGI_XPC_NOTIFY);
dev_dbg(xpc_chan, "%s sent to partid=%d, channel=%d, ret=%d\n", dev_dbg(xpc_chan, "%s sent to partid=%d, channel=%d, ret=%d\n",
ipi_flag_string, ch->partid, ch->number, ret); ipi_flag_string, ch->partid, ch->number, ret);
if (unlikely(ret != xpcSuccess)) { if (unlikely(ret != xpSuccess)) {
if (irq_flags != NULL) if (irq_flags != NULL)
spin_unlock_irqrestore(&ch->lock, *irq_flags); spin_unlock_irqrestore(&ch->lock, *irq_flags);
XPC_DEACTIVATE_PARTITION(part, ret); XPC_DEACTIVATE_PARTITION(part, ret);
...@@ -1123,41 +1123,10 @@ xpc_IPI_init(int index) ...@@ -1123,41 +1123,10 @@ xpc_IPI_init(int index)
return amo; return amo;
} }
static inline enum xpc_retval static inline enum xp_retval
xpc_map_bte_errors(bte_result_t error) xpc_map_bte_errors(bte_result_t error)
{ {
if (error == BTE_SUCCESS) return ((error == BTE_SUCCESS) ? xpSuccess : xpBteCopyError);
return xpcSuccess;
if (is_shub2()) {
if (BTE_VALID_SH2_ERROR(error))
return xpcBteSh2Start + error;
return xpcBteUnmappedError;
}
switch (error) {
case BTE_SUCCESS:
return xpcSuccess;
case BTEFAIL_DIR:
return xpcBteDirectoryError;
case BTEFAIL_POISON:
return xpcBtePoisonError;
case BTEFAIL_WERR:
return xpcBteWriteError;
case BTEFAIL_ACCESS:
return xpcBteAccessError;
case BTEFAIL_PWERR:
return xpcBtePWriteError;
case BTEFAIL_PRERR:
return xpcBtePReadError;
case BTEFAIL_TOUT:
return xpcBteTimeOutError;
case BTEFAIL_XTERR:
return xpcBteXtalkError;
case BTEFAIL_NOTAVAIL:
return xpcBteNotAvailable;
default:
return xpcBteUnmappedError;
}
} }
/* /*
......
...@@ -90,7 +90,7 @@ xpc_initialize_channels(struct xpc_partition *part, partid_t partid) ...@@ -90,7 +90,7 @@ xpc_initialize_channels(struct xpc_partition *part, partid_t partid)
* Setup the infrastructure necessary to support XPartition Communication * Setup the infrastructure necessary to support XPartition Communication
* between the specified remote partition and the local one. * between the specified remote partition and the local one.
*/ */
enum xpc_retval enum xp_retval
xpc_setup_infrastructure(struct xpc_partition *part) xpc_setup_infrastructure(struct xpc_partition *part)
{ {
int ret, cpuid; int ret, cpuid;
...@@ -114,7 +114,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -114,7 +114,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
GFP_KERNEL); GFP_KERNEL);
if (part->channels == NULL) { if (part->channels == NULL) {
dev_err(xpc_chan, "can't get memory for channels\n"); dev_err(xpc_chan, "can't get memory for channels\n");
return xpcNoMemory; return xpNoMemory;
} }
part->nchannels = XPC_NCHANNELS; part->nchannels = XPC_NCHANNELS;
...@@ -129,7 +129,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -129,7 +129,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
part->channels = NULL; part->channels = NULL;
dev_err(xpc_chan, "can't get memory for local get/put " dev_err(xpc_chan, "can't get memory for local get/put "
"values\n"); "values\n");
return xpcNoMemory; return xpNoMemory;
} }
part->remote_GPs = xpc_kzalloc_cacheline_aligned(XPC_GP_SIZE, part->remote_GPs = xpc_kzalloc_cacheline_aligned(XPC_GP_SIZE,
...@@ -143,7 +143,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -143,7 +143,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
part->local_GPs = NULL; part->local_GPs = NULL;
kfree(part->channels); kfree(part->channels);
part->channels = NULL; part->channels = NULL;
return xpcNoMemory; return xpNoMemory;
} }
/* allocate all the required open and close args */ /* allocate all the required open and close args */
...@@ -159,7 +159,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -159,7 +159,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
part->local_GPs = NULL; part->local_GPs = NULL;
kfree(part->channels); kfree(part->channels);
part->channels = NULL; part->channels = NULL;
return xpcNoMemory; return xpNoMemory;
} }
part->remote_openclose_args = part->remote_openclose_args =
...@@ -175,7 +175,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -175,7 +175,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
part->local_GPs = NULL; part->local_GPs = NULL;
kfree(part->channels); kfree(part->channels);
part->channels = NULL; part->channels = NULL;
return xpcNoMemory; return xpNoMemory;
} }
xpc_initialize_channels(part, partid); xpc_initialize_channels(part, partid);
...@@ -209,7 +209,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -209,7 +209,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
part->local_GPs = NULL; part->local_GPs = NULL;
kfree(part->channels); kfree(part->channels);
part->channels = NULL; part->channels = NULL;
return xpcLackOfResources; return xpLackOfResources;
} }
/* Setup a timer to check for dropped IPIs */ /* Setup a timer to check for dropped IPIs */
...@@ -243,7 +243,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -243,7 +243,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
xpc_vars_part[partid].nchannels = part->nchannels; xpc_vars_part[partid].nchannels = part->nchannels;
xpc_vars_part[partid].magic = XPC_VP_MAGIC1; xpc_vars_part[partid].magic = XPC_VP_MAGIC1;
return xpcSuccess; return xpSuccess;
} }
/* /*
...@@ -254,7 +254,7 @@ xpc_setup_infrastructure(struct xpc_partition *part) ...@@ -254,7 +254,7 @@ xpc_setup_infrastructure(struct xpc_partition *part)
* dst must be a cacheline aligned virtual address on this partition. * dst must be a cacheline aligned virtual address on this partition.
* cnt must be an cacheline sized * cnt must be an cacheline sized
*/ */
static enum xpc_retval static enum xp_retval
xpc_pull_remote_cachelines(struct xpc_partition *part, void *dst, xpc_pull_remote_cachelines(struct xpc_partition *part, void *dst,
const void *src, size_t cnt) const void *src, size_t cnt)
{ {
...@@ -270,7 +270,7 @@ xpc_pull_remote_cachelines(struct xpc_partition *part, void *dst, ...@@ -270,7 +270,7 @@ xpc_pull_remote_cachelines(struct xpc_partition *part, void *dst,
bte_ret = xp_bte_copy((u64)src, (u64)dst, (u64)cnt, bte_ret = xp_bte_copy((u64)src, (u64)dst, (u64)cnt,
(BTE_NORMAL | BTE_WACQUIRE), NULL); (BTE_NORMAL | BTE_WACQUIRE), NULL);
if (bte_ret == BTE_SUCCESS) if (bte_ret == BTE_SUCCESS)
return xpcSuccess; return xpSuccess;
dev_dbg(xpc_chan, "xp_bte_copy() from partition %d failed, ret=%d\n", dev_dbg(xpc_chan, "xp_bte_copy() from partition %d failed, ret=%d\n",
XPC_PARTID(part), bte_ret); XPC_PARTID(part), bte_ret);
...@@ -282,7 +282,7 @@ xpc_pull_remote_cachelines(struct xpc_partition *part, void *dst, ...@@ -282,7 +282,7 @@ xpc_pull_remote_cachelines(struct xpc_partition *part, void *dst,
* Pull the remote per partition specific variables from the specified * Pull the remote per partition specific variables from the specified
* partition. * partition.
*/ */
enum xpc_retval enum xp_retval
xpc_pull_remote_vars_part(struct xpc_partition *part) xpc_pull_remote_vars_part(struct xpc_partition *part)
{ {
u8 buffer[L1_CACHE_BYTES * 2]; u8 buffer[L1_CACHE_BYTES * 2];
...@@ -291,7 +291,7 @@ xpc_pull_remote_vars_part(struct xpc_partition *part) ...@@ -291,7 +291,7 @@ xpc_pull_remote_vars_part(struct xpc_partition *part)
struct xpc_vars_part *pulled_entry; struct xpc_vars_part *pulled_entry;
u64 remote_entry_cacheline_pa, remote_entry_pa; u64 remote_entry_cacheline_pa, remote_entry_pa;
partid_t partid = XPC_PARTID(part); partid_t partid = XPC_PARTID(part);
enum xpc_retval ret; enum xp_retval ret;
/* pull the cacheline that contains the variables we're interested in */ /* pull the cacheline that contains the variables we're interested in */
...@@ -311,7 +311,7 @@ xpc_pull_remote_vars_part(struct xpc_partition *part) ...@@ -311,7 +311,7 @@ xpc_pull_remote_vars_part(struct xpc_partition *part)
ret = xpc_pull_remote_cachelines(part, pulled_entry_cacheline, ret = xpc_pull_remote_cachelines(part, pulled_entry_cacheline,
(void *)remote_entry_cacheline_pa, (void *)remote_entry_cacheline_pa,
L1_CACHE_BYTES); L1_CACHE_BYTES);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
dev_dbg(xpc_chan, "failed to pull XPC vars_part from " dev_dbg(xpc_chan, "failed to pull XPC vars_part from "
"partition %d, ret=%d\n", partid, ret); "partition %d, ret=%d\n", partid, ret);
return ret; return ret;
...@@ -326,11 +326,11 @@ xpc_pull_remote_vars_part(struct xpc_partition *part) ...@@ -326,11 +326,11 @@ xpc_pull_remote_vars_part(struct xpc_partition *part)
dev_dbg(xpc_chan, "partition %d's XPC vars_part for " dev_dbg(xpc_chan, "partition %d's XPC vars_part for "
"partition %d has bad magic value (=0x%lx)\n", "partition %d has bad magic value (=0x%lx)\n",
partid, sn_partition_id, pulled_entry->magic); partid, sn_partition_id, pulled_entry->magic);
return xpcBadMagic; return xpBadMagic;
} }
/* they've not been initialized yet */ /* they've not been initialized yet */
return xpcRetry; return xpRetry;
} }
if (xpc_vars_part[partid].magic == XPC_VP_MAGIC1) { if (xpc_vars_part[partid].magic == XPC_VP_MAGIC1) {
...@@ -344,7 +344,7 @@ xpc_pull_remote_vars_part(struct xpc_partition *part) ...@@ -344,7 +344,7 @@ xpc_pull_remote_vars_part(struct xpc_partition *part)
dev_err(xpc_chan, "partition %d's XPC vars_part for " dev_err(xpc_chan, "partition %d's XPC vars_part for "
"partition %d are not valid\n", partid, "partition %d are not valid\n", partid,
sn_partition_id); sn_partition_id);
return xpcInvalidAddress; return xpInvalidAddress;
} }
/* the variables we imported look to be valid */ /* the variables we imported look to be valid */
...@@ -366,9 +366,9 @@ xpc_pull_remote_vars_part(struct xpc_partition *part) ...@@ -366,9 +366,9 @@ xpc_pull_remote_vars_part(struct xpc_partition *part)
} }
if (pulled_entry->magic == XPC_VP_MAGIC1) if (pulled_entry->magic == XPC_VP_MAGIC1)
return xpcRetry; return xpRetry;
return xpcSuccess; return xpSuccess;
} }
/* /*
...@@ -379,7 +379,7 @@ xpc_get_IPI_flags(struct xpc_partition *part) ...@@ -379,7 +379,7 @@ xpc_get_IPI_flags(struct xpc_partition *part)
{ {
unsigned long irq_flags; unsigned long irq_flags;
u64 IPI_amo; u64 IPI_amo;
enum xpc_retval ret; enum xp_retval ret;
/* /*
* See if there are any IPI flags to be handled. * See if there are any IPI flags to be handled.
...@@ -398,7 +398,7 @@ xpc_get_IPI_flags(struct xpc_partition *part) ...@@ -398,7 +398,7 @@ xpc_get_IPI_flags(struct xpc_partition *part)
(void *)part-> (void *)part->
remote_openclose_args_pa, remote_openclose_args_pa,
XPC_OPENCLOSE_ARGS_SIZE); XPC_OPENCLOSE_ARGS_SIZE);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
XPC_DEACTIVATE_PARTITION(part, ret); XPC_DEACTIVATE_PARTITION(part, ret);
dev_dbg(xpc_chan, "failed to pull openclose args from " dev_dbg(xpc_chan, "failed to pull openclose args from "
...@@ -414,7 +414,7 @@ xpc_get_IPI_flags(struct xpc_partition *part) ...@@ -414,7 +414,7 @@ xpc_get_IPI_flags(struct xpc_partition *part)
ret = xpc_pull_remote_cachelines(part, part->remote_GPs, ret = xpc_pull_remote_cachelines(part, part->remote_GPs,
(void *)part->remote_GPs_pa, (void *)part->remote_GPs_pa,
XPC_GP_SIZE); XPC_GP_SIZE);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
XPC_DEACTIVATE_PARTITION(part, ret); XPC_DEACTIVATE_PARTITION(part, ret);
dev_dbg(xpc_chan, "failed to pull GPs from partition " dev_dbg(xpc_chan, "failed to pull GPs from partition "
...@@ -431,7 +431,7 @@ xpc_get_IPI_flags(struct xpc_partition *part) ...@@ -431,7 +431,7 @@ xpc_get_IPI_flags(struct xpc_partition *part)
/* /*
* Allocate the local message queue and the notify queue. * Allocate the local message queue and the notify queue.
*/ */
static enum xpc_retval static enum xp_retval
xpc_allocate_local_msgqueue(struct xpc_channel *ch) xpc_allocate_local_msgqueue(struct xpc_channel *ch)
{ {
unsigned long irq_flags; unsigned long irq_flags;
...@@ -464,18 +464,18 @@ xpc_allocate_local_msgqueue(struct xpc_channel *ch) ...@@ -464,18 +464,18 @@ xpc_allocate_local_msgqueue(struct xpc_channel *ch)
ch->local_nentries = nentries; ch->local_nentries = nentries;
} }
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
return xpcSuccess; return xpSuccess;
} }
dev_dbg(xpc_chan, "can't get memory for local message queue and notify " dev_dbg(xpc_chan, "can't get memory for local message queue and notify "
"queue, partid=%d, channel=%d\n", ch->partid, ch->number); "queue, partid=%d, channel=%d\n", ch->partid, ch->number);
return xpcNoMemory; return xpNoMemory;
} }
/* /*
* Allocate the cached remote message queue. * Allocate the cached remote message queue.
*/ */
static enum xpc_retval static enum xp_retval
xpc_allocate_remote_msgqueue(struct xpc_channel *ch) xpc_allocate_remote_msgqueue(struct xpc_channel *ch)
{ {
unsigned long irq_flags; unsigned long irq_flags;
...@@ -502,12 +502,12 @@ xpc_allocate_remote_msgqueue(struct xpc_channel *ch) ...@@ -502,12 +502,12 @@ xpc_allocate_remote_msgqueue(struct xpc_channel *ch)
ch->remote_nentries = nentries; ch->remote_nentries = nentries;
} }
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
return xpcSuccess; return xpSuccess;
} }
dev_dbg(xpc_chan, "can't get memory for cached remote message queue, " dev_dbg(xpc_chan, "can't get memory for cached remote message queue, "
"partid=%d, channel=%d\n", ch->partid, ch->number); "partid=%d, channel=%d\n", ch->partid, ch->number);
return xpcNoMemory; return xpNoMemory;
} }
/* /*
...@@ -515,20 +515,20 @@ xpc_allocate_remote_msgqueue(struct xpc_channel *ch) ...@@ -515,20 +515,20 @@ xpc_allocate_remote_msgqueue(struct xpc_channel *ch)
* *
* Note: Assumes all of the channel sizes are filled in. * Note: Assumes all of the channel sizes are filled in.
*/ */
static enum xpc_retval static enum xp_retval
xpc_allocate_msgqueues(struct xpc_channel *ch) xpc_allocate_msgqueues(struct xpc_channel *ch)
{ {
unsigned long irq_flags; unsigned long irq_flags;
enum xpc_retval ret; enum xp_retval ret;
DBUG_ON(ch->flags & XPC_C_SETUP); DBUG_ON(ch->flags & XPC_C_SETUP);
ret = xpc_allocate_local_msgqueue(ch); ret = xpc_allocate_local_msgqueue(ch);
if (ret != xpcSuccess) if (ret != xpSuccess)
return ret; return ret;
ret = xpc_allocate_remote_msgqueue(ch); ret = xpc_allocate_remote_msgqueue(ch);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
kfree(ch->local_msgqueue_base); kfree(ch->local_msgqueue_base);
ch->local_msgqueue = NULL; ch->local_msgqueue = NULL;
kfree(ch->notify_queue); kfree(ch->notify_queue);
...@@ -540,7 +540,7 @@ xpc_allocate_msgqueues(struct xpc_channel *ch) ...@@ -540,7 +540,7 @@ xpc_allocate_msgqueues(struct xpc_channel *ch)
ch->flags |= XPC_C_SETUP; ch->flags |= XPC_C_SETUP;
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
return xpcSuccess; return xpSuccess;
} }
/* /*
...@@ -552,7 +552,7 @@ xpc_allocate_msgqueues(struct xpc_channel *ch) ...@@ -552,7 +552,7 @@ xpc_allocate_msgqueues(struct xpc_channel *ch)
static void static void
xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags) xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags)
{ {
enum xpc_retval ret; enum xp_retval ret;
DBUG_ON(!spin_is_locked(&ch->lock)); DBUG_ON(!spin_is_locked(&ch->lock));
...@@ -568,7 +568,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags) ...@@ -568,7 +568,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags)
ret = xpc_allocate_msgqueues(ch); ret = xpc_allocate_msgqueues(ch);
spin_lock_irqsave(&ch->lock, *irq_flags); spin_lock_irqsave(&ch->lock, *irq_flags);
if (ret != xpcSuccess) if (ret != xpSuccess)
XPC_DISCONNECT_CHANNEL(ch, ret, irq_flags); XPC_DISCONNECT_CHANNEL(ch, ret, irq_flags);
if (ch->flags & (XPC_C_CONNECTED | XPC_C_DISCONNECTING)) if (ch->flags & (XPC_C_CONNECTED | XPC_C_DISCONNECTING))
...@@ -603,7 +603,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags) ...@@ -603,7 +603,7 @@ xpc_process_connect(struct xpc_channel *ch, unsigned long *irq_flags)
* Notify those who wanted to be notified upon delivery of their message. * Notify those who wanted to be notified upon delivery of their message.
*/ */
static void static void
xpc_notify_senders(struct xpc_channel *ch, enum xpc_retval reason, s64 put) xpc_notify_senders(struct xpc_channel *ch, enum xp_retval reason, s64 put)
{ {
struct xpc_notify *notify; struct xpc_notify *notify;
u8 notify_type; u8 notify_type;
...@@ -748,7 +748,7 @@ xpc_process_disconnect(struct xpc_channel *ch, unsigned long *irq_flags) ...@@ -748,7 +748,7 @@ xpc_process_disconnect(struct xpc_channel *ch, unsigned long *irq_flags)
if (ch->flags & XPC_C_DISCONNECTINGCALLOUT_MADE) { if (ch->flags & XPC_C_DISCONNECTINGCALLOUT_MADE) {
spin_unlock_irqrestore(&ch->lock, *irq_flags); spin_unlock_irqrestore(&ch->lock, *irq_flags);
xpc_disconnect_callout(ch, xpcDisconnected); xpc_disconnect_callout(ch, xpDisconnected);
spin_lock_irqsave(&ch->lock, *irq_flags); spin_lock_irqsave(&ch->lock, *irq_flags);
} }
...@@ -791,7 +791,7 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number, ...@@ -791,7 +791,7 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number,
struct xpc_openclose_args *args = struct xpc_openclose_args *args =
&part->remote_openclose_args[ch_number]; &part->remote_openclose_args[ch_number];
struct xpc_channel *ch = &part->channels[ch_number]; struct xpc_channel *ch = &part->channels[ch_number];
enum xpc_retval reason; enum xp_retval reason;
spin_lock_irqsave(&ch->lock, irq_flags); spin_lock_irqsave(&ch->lock, irq_flags);
...@@ -871,10 +871,10 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number, ...@@ -871,10 +871,10 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number,
if (!(ch->flags & XPC_C_DISCONNECTING)) { if (!(ch->flags & XPC_C_DISCONNECTING)) {
reason = args->reason; reason = args->reason;
if (reason <= xpcSuccess || reason > xpcUnknownReason) if (reason <= xpSuccess || reason > xpUnknownReason)
reason = xpcUnknownReason; reason = xpUnknownReason;
else if (reason == xpcUnregistering) else if (reason == xpUnregistering)
reason = xpcOtherUnregistering; reason = xpOtherUnregistering;
XPC_DISCONNECT_CHANNEL(ch, reason, &irq_flags); XPC_DISCONNECT_CHANNEL(ch, reason, &irq_flags);
...@@ -961,7 +961,7 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number, ...@@ -961,7 +961,7 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number,
if (ch->flags & XPC_C_OPENREQUEST) { if (ch->flags & XPC_C_OPENREQUEST) {
if (args->msg_size != ch->msg_size) { if (args->msg_size != ch->msg_size) {
XPC_DISCONNECT_CHANNEL(ch, xpcUnequalMsgSizes, XPC_DISCONNECT_CHANNEL(ch, xpUnequalMsgSizes,
&irq_flags); &irq_flags);
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
return; return;
...@@ -991,7 +991,7 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number, ...@@ -991,7 +991,7 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number,
return; return;
} }
if (!(ch->flags & XPC_C_OPENREQUEST)) { if (!(ch->flags & XPC_C_OPENREQUEST)) {
XPC_DISCONNECT_CHANNEL(ch, xpcOpenCloseError, XPC_DISCONNECT_CHANNEL(ch, xpOpenCloseError,
&irq_flags); &irq_flags);
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
return; return;
...@@ -1042,18 +1042,18 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number, ...@@ -1042,18 +1042,18 @@ xpc_process_openclose_IPI(struct xpc_partition *part, int ch_number,
/* /*
* Attempt to establish a channel connection to a remote partition. * Attempt to establish a channel connection to a remote partition.
*/ */
static enum xpc_retval static enum xp_retval
xpc_connect_channel(struct xpc_channel *ch) xpc_connect_channel(struct xpc_channel *ch)
{ {
unsigned long irq_flags; unsigned long irq_flags;
struct xpc_registration *registration = &xpc_registrations[ch->number]; struct xpc_registration *registration = &xpc_registrations[ch->number];
if (mutex_trylock(&registration->mutex) == 0) if (mutex_trylock(&registration->mutex) == 0)
return xpcRetry; return xpRetry;
if (!XPC_CHANNEL_REGISTERED(ch->number)) { if (!XPC_CHANNEL_REGISTERED(ch->number)) {
mutex_unlock(&registration->mutex); mutex_unlock(&registration->mutex);
return xpcUnregistered; return xpUnregistered;
} }
spin_lock_irqsave(&ch->lock, irq_flags); spin_lock_irqsave(&ch->lock, irq_flags);
...@@ -1095,10 +1095,10 @@ xpc_connect_channel(struct xpc_channel *ch) ...@@ -1095,10 +1095,10 @@ xpc_connect_channel(struct xpc_channel *ch)
* the channel lock as needed. * the channel lock as needed.
*/ */
mutex_unlock(&registration->mutex); mutex_unlock(&registration->mutex);
XPC_DISCONNECT_CHANNEL(ch, xpcUnequalMsgSizes, XPC_DISCONNECT_CHANNEL(ch, xpUnequalMsgSizes,
&irq_flags); &irq_flags);
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
return xpcUnequalMsgSizes; return xpUnequalMsgSizes;
} }
} else { } else {
ch->msg_size = registration->msg_size; ch->msg_size = registration->msg_size;
...@@ -1120,7 +1120,7 @@ xpc_connect_channel(struct xpc_channel *ch) ...@@ -1120,7 +1120,7 @@ xpc_connect_channel(struct xpc_channel *ch)
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
return xpcSuccess; return xpSuccess;
} }
/* /*
...@@ -1203,7 +1203,7 @@ xpc_process_msg_IPI(struct xpc_partition *part, int ch_number) ...@@ -1203,7 +1203,7 @@ xpc_process_msg_IPI(struct xpc_partition *part, int ch_number)
* Notify senders that messages sent have been * Notify senders that messages sent have been
* received and delivered by the other side. * received and delivered by the other side.
*/ */
xpc_notify_senders(ch, xpcMsgDelivered, xpc_notify_senders(ch, xpMsgDelivered,
ch->remote_GP.get); ch->remote_GP.get);
} }
...@@ -1335,7 +1335,7 @@ xpc_process_channel_activity(struct xpc_partition *part) ...@@ -1335,7 +1335,7 @@ xpc_process_channel_activity(struct xpc_partition *part)
* at the same time. * at the same time.
*/ */
void void
xpc_partition_going_down(struct xpc_partition *part, enum xpc_retval reason) xpc_partition_going_down(struct xpc_partition *part, enum xp_retval reason)
{ {
unsigned long irq_flags; unsigned long irq_flags;
int ch_number; int ch_number;
...@@ -1456,13 +1456,13 @@ xpc_connected_callout(struct xpc_channel *ch) ...@@ -1456,13 +1456,13 @@ xpc_connected_callout(struct xpc_channel *ch)
/* let the registerer know that a connection has been established */ /* let the registerer know that a connection has been established */
if (ch->func != NULL) { if (ch->func != NULL) {
dev_dbg(xpc_chan, "ch->func() called, reason=xpcConnected, " dev_dbg(xpc_chan, "ch->func() called, reason=xpConnected, "
"partid=%d, channel=%d\n", ch->partid, ch->number); "partid=%d, channel=%d\n", ch->partid, ch->number);
ch->func(xpcConnected, ch->partid, ch->number, ch->func(xpConnected, ch->partid, ch->number,
(void *)(u64)ch->local_nentries, ch->key); (void *)(u64)ch->local_nentries, ch->key);
dev_dbg(xpc_chan, "ch->func() returned, reason=xpcConnected, " dev_dbg(xpc_chan, "ch->func() returned, reason=xpConnected, "
"partid=%d, channel=%d\n", ch->partid, ch->number); "partid=%d, channel=%d\n", ch->partid, ch->number);
} }
} }
...@@ -1503,7 +1503,7 @@ xpc_initiate_disconnect(int ch_number) ...@@ -1503,7 +1503,7 @@ xpc_initiate_disconnect(int ch_number)
if (!(ch->flags & XPC_C_DISCONNECTED)) { if (!(ch->flags & XPC_C_DISCONNECTED)) {
ch->flags |= XPC_C_WDISCONNECT; ch->flags |= XPC_C_WDISCONNECT;
XPC_DISCONNECT_CHANNEL(ch, xpcUnregistering, XPC_DISCONNECT_CHANNEL(ch, xpUnregistering,
&irq_flags); &irq_flags);
} }
...@@ -1528,7 +1528,7 @@ xpc_initiate_disconnect(int ch_number) ...@@ -1528,7 +1528,7 @@ xpc_initiate_disconnect(int ch_number)
*/ */
void void
xpc_disconnect_channel(const int line, struct xpc_channel *ch, xpc_disconnect_channel(const int line, struct xpc_channel *ch,
enum xpc_retval reason, unsigned long *irq_flags) enum xp_retval reason, unsigned long *irq_flags)
{ {
u32 channel_was_connected = (ch->flags & XPC_C_CONNECTED); u32 channel_was_connected = (ch->flags & XPC_C_CONNECTED);
...@@ -1563,7 +1563,7 @@ xpc_disconnect_channel(const int line, struct xpc_channel *ch, ...@@ -1563,7 +1563,7 @@ xpc_disconnect_channel(const int line, struct xpc_channel *ch,
} else if ((ch->flags & XPC_C_CONNECTEDCALLOUT_MADE) && } else if ((ch->flags & XPC_C_CONNECTEDCALLOUT_MADE) &&
!(ch->flags & XPC_C_DISCONNECTINGCALLOUT)) { !(ch->flags & XPC_C_DISCONNECTINGCALLOUT)) {
/* start a kthread that will do the xpcDisconnecting callout */ /* start a kthread that will do the xpDisconnecting callout */
xpc_create_kthreads(ch, 1, 1); xpc_create_kthreads(ch, 1, 1);
} }
...@@ -1575,7 +1575,7 @@ xpc_disconnect_channel(const int line, struct xpc_channel *ch, ...@@ -1575,7 +1575,7 @@ xpc_disconnect_channel(const int line, struct xpc_channel *ch,
} }
void void
xpc_disconnect_callout(struct xpc_channel *ch, enum xpc_retval reason) xpc_disconnect_callout(struct xpc_channel *ch, enum xp_retval reason)
{ {
/* /*
* Let the channel's registerer know that the channel is being * Let the channel's registerer know that the channel is being
...@@ -1598,13 +1598,13 @@ xpc_disconnect_callout(struct xpc_channel *ch, enum xpc_retval reason) ...@@ -1598,13 +1598,13 @@ xpc_disconnect_callout(struct xpc_channel *ch, enum xpc_retval reason)
* Wait for a message entry to become available for the specified channel, * Wait for a message entry to become available for the specified channel,
* but don't wait any longer than 1 jiffy. * but don't wait any longer than 1 jiffy.
*/ */
static enum xpc_retval static enum xp_retval
xpc_allocate_msg_wait(struct xpc_channel *ch) xpc_allocate_msg_wait(struct xpc_channel *ch)
{ {
enum xpc_retval ret; enum xp_retval ret;
if (ch->flags & XPC_C_DISCONNECTING) { if (ch->flags & XPC_C_DISCONNECTING) {
DBUG_ON(ch->reason == xpcInterrupted); DBUG_ON(ch->reason == xpInterrupted);
return ch->reason; return ch->reason;
} }
...@@ -1614,11 +1614,11 @@ xpc_allocate_msg_wait(struct xpc_channel *ch) ...@@ -1614,11 +1614,11 @@ xpc_allocate_msg_wait(struct xpc_channel *ch)
if (ch->flags & XPC_C_DISCONNECTING) { if (ch->flags & XPC_C_DISCONNECTING) {
ret = ch->reason; ret = ch->reason;
DBUG_ON(ch->reason == xpcInterrupted); DBUG_ON(ch->reason == xpInterrupted);
} else if (ret == 0) { } else if (ret == 0) {
ret = xpcTimeout; ret = xpTimeout;
} else { } else {
ret = xpcInterrupted; ret = xpInterrupted;
} }
return ret; return ret;
...@@ -1628,12 +1628,12 @@ xpc_allocate_msg_wait(struct xpc_channel *ch) ...@@ -1628,12 +1628,12 @@ xpc_allocate_msg_wait(struct xpc_channel *ch)
* Allocate an entry for a message from the message queue associated with the * Allocate an entry for a message from the message queue associated with the
* specified channel. * specified channel.
*/ */
static enum xpc_retval static enum xp_retval
xpc_allocate_msg(struct xpc_channel *ch, u32 flags, xpc_allocate_msg(struct xpc_channel *ch, u32 flags,
struct xpc_msg **address_of_msg) struct xpc_msg **address_of_msg)
{ {
struct xpc_msg *msg; struct xpc_msg *msg;
enum xpc_retval ret; enum xp_retval ret;
s64 put; s64 put;
/* this reference will be dropped in xpc_send_msg() */ /* this reference will be dropped in xpc_send_msg() */
...@@ -1645,7 +1645,7 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags, ...@@ -1645,7 +1645,7 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags,
} }
if (!(ch->flags & XPC_C_CONNECTED)) { if (!(ch->flags & XPC_C_CONNECTED)) {
xpc_msgqueue_deref(ch); xpc_msgqueue_deref(ch);
return xpcNotConnected; return xpNotConnected;
} }
/* /*
...@@ -1653,7 +1653,7 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags, ...@@ -1653,7 +1653,7 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags,
* If none are available, we'll make sure that we grab the latest * If none are available, we'll make sure that we grab the latest
* GP values. * GP values.
*/ */
ret = xpcTimeout; ret = xpTimeout;
while (1) { while (1) {
...@@ -1683,16 +1683,16 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags, ...@@ -1683,16 +1683,16 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags,
* that will cause the IPI handler to fetch the latest * that will cause the IPI handler to fetch the latest
* GP values as if an IPI was sent by the other side. * GP values as if an IPI was sent by the other side.
*/ */
if (ret == xpcTimeout) if (ret == xpTimeout)
xpc_IPI_send_local_msgrequest(ch); xpc_IPI_send_local_msgrequest(ch);
if (flags & XPC_NOWAIT) { if (flags & XPC_NOWAIT) {
xpc_msgqueue_deref(ch); xpc_msgqueue_deref(ch);
return xpcNoWait; return xpNoWait;
} }
ret = xpc_allocate_msg_wait(ch); ret = xpc_allocate_msg_wait(ch);
if (ret != xpcInterrupted && ret != xpcTimeout) { if (ret != xpInterrupted && ret != xpTimeout) {
xpc_msgqueue_deref(ch); xpc_msgqueue_deref(ch);
return ret; return ret;
} }
...@@ -1711,7 +1711,7 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags, ...@@ -1711,7 +1711,7 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags,
*address_of_msg = msg; *address_of_msg = msg;
return xpcSuccess; return xpSuccess;
} }
/* /*
...@@ -1727,11 +1727,11 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags, ...@@ -1727,11 +1727,11 @@ xpc_allocate_msg(struct xpc_channel *ch, u32 flags,
* payload - address of the allocated payload area pointer (filled in on * payload - address of the allocated payload area pointer (filled in on
* return) in which the user-defined message is constructed. * return) in which the user-defined message is constructed.
*/ */
enum xpc_retval enum xp_retval
xpc_initiate_allocate(partid_t partid, int ch_number, u32 flags, void **payload) xpc_initiate_allocate(partid_t partid, int ch_number, u32 flags, void **payload)
{ {
struct xpc_partition *part = &xpc_partitions[partid]; struct xpc_partition *part = &xpc_partitions[partid];
enum xpc_retval ret = xpcUnknownReason; enum xp_retval ret = xpUnknownReason;
struct xpc_msg *msg = NULL; struct xpc_msg *msg = NULL;
DBUG_ON(partid <= 0 || partid >= XP_MAX_PARTITIONS); DBUG_ON(partid <= 0 || partid >= XP_MAX_PARTITIONS);
...@@ -1814,11 +1814,11 @@ xpc_send_msgs(struct xpc_channel *ch, s64 initial_put) ...@@ -1814,11 +1814,11 @@ xpc_send_msgs(struct xpc_channel *ch, s64 initial_put)
* local message queue's Put value and sends an IPI to the partition the * local message queue's Put value and sends an IPI to the partition the
* message is being sent to. * message is being sent to.
*/ */
static enum xpc_retval static enum xp_retval
xpc_send_msg(struct xpc_channel *ch, struct xpc_msg *msg, u8 notify_type, xpc_send_msg(struct xpc_channel *ch, struct xpc_msg *msg, u8 notify_type,
xpc_notify_func func, void *key) xpc_notify_func func, void *key)
{ {
enum xpc_retval ret = xpcSuccess; enum xp_retval ret = xpSuccess;
struct xpc_notify *notify = notify; struct xpc_notify *notify = notify;
s64 put, msg_number = msg->number; s64 put, msg_number = msg->number;
...@@ -1908,12 +1908,12 @@ xpc_send_msg(struct xpc_channel *ch, struct xpc_msg *msg, u8 notify_type, ...@@ -1908,12 +1908,12 @@ xpc_send_msg(struct xpc_channel *ch, struct xpc_msg *msg, u8 notify_type,
* payload - pointer to the payload area allocated via * payload - pointer to the payload area allocated via
* xpc_initiate_allocate(). * xpc_initiate_allocate().
*/ */
enum xpc_retval enum xp_retval
xpc_initiate_send(partid_t partid, int ch_number, void *payload) xpc_initiate_send(partid_t partid, int ch_number, void *payload)
{ {
struct xpc_partition *part = &xpc_partitions[partid]; struct xpc_partition *part = &xpc_partitions[partid];
struct xpc_msg *msg = XPC_MSG_ADDRESS(payload); struct xpc_msg *msg = XPC_MSG_ADDRESS(payload);
enum xpc_retval ret; enum xp_retval ret;
dev_dbg(xpc_chan, "msg=0x%p, partid=%d, channel=%d\n", (void *)msg, dev_dbg(xpc_chan, "msg=0x%p, partid=%d, channel=%d\n", (void *)msg,
partid, ch_number); partid, ch_number);
...@@ -1957,13 +1957,13 @@ xpc_initiate_send(partid_t partid, int ch_number, void *payload) ...@@ -1957,13 +1957,13 @@ xpc_initiate_send(partid_t partid, int ch_number, void *payload)
* receipt. THIS FUNCTION MUST BE NON-BLOCKING. * receipt. THIS FUNCTION MUST BE NON-BLOCKING.
* key - user-defined key to be passed to the function when it's called. * key - user-defined key to be passed to the function when it's called.
*/ */
enum xpc_retval enum xp_retval
xpc_initiate_send_notify(partid_t partid, int ch_number, void *payload, xpc_initiate_send_notify(partid_t partid, int ch_number, void *payload,
xpc_notify_func func, void *key) xpc_notify_func func, void *key)
{ {
struct xpc_partition *part = &xpc_partitions[partid]; struct xpc_partition *part = &xpc_partitions[partid];
struct xpc_msg *msg = XPC_MSG_ADDRESS(payload); struct xpc_msg *msg = XPC_MSG_ADDRESS(payload);
enum xpc_retval ret; enum xp_retval ret;
dev_dbg(xpc_chan, "msg=0x%p, partid=%d, channel=%d\n", (void *)msg, dev_dbg(xpc_chan, "msg=0x%p, partid=%d, channel=%d\n", (void *)msg,
partid, ch_number); partid, ch_number);
...@@ -1985,7 +1985,7 @@ xpc_pull_remote_msg(struct xpc_channel *ch, s64 get) ...@@ -1985,7 +1985,7 @@ xpc_pull_remote_msg(struct xpc_channel *ch, s64 get)
struct xpc_msg *remote_msg, *msg; struct xpc_msg *remote_msg, *msg;
u32 msg_index, nmsgs; u32 msg_index, nmsgs;
u64 msg_offset; u64 msg_offset;
enum xpc_retval ret; enum xp_retval ret;
if (mutex_lock_interruptible(&ch->msg_to_pull_mutex) != 0) { if (mutex_lock_interruptible(&ch->msg_to_pull_mutex) != 0) {
/* we were interrupted by a signal */ /* we were interrupted by a signal */
...@@ -2012,7 +2012,7 @@ xpc_pull_remote_msg(struct xpc_channel *ch, s64 get) ...@@ -2012,7 +2012,7 @@ xpc_pull_remote_msg(struct xpc_channel *ch, s64 get)
ret = xpc_pull_remote_cachelines(part, msg, remote_msg, ret = xpc_pull_remote_cachelines(part, msg, remote_msg,
nmsgs * ch->msg_size); nmsgs * ch->msg_size);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
dev_dbg(xpc_chan, "failed to pull %d msgs starting with" dev_dbg(xpc_chan, "failed to pull %d msgs starting with"
" msg %ld from partition %d, channel=%d, " " msg %ld from partition %d, channel=%d, "
...@@ -2112,7 +2112,7 @@ xpc_deliver_msg(struct xpc_channel *ch) ...@@ -2112,7 +2112,7 @@ xpc_deliver_msg(struct xpc_channel *ch)
ch->number); ch->number);
/* deliver the message to its intended recipient */ /* deliver the message to its intended recipient */
ch->func(xpcMsgReceived, ch->partid, ch->number, ch->func(xpMsgReceived, ch->partid, ch->number,
&msg->payload, ch->key); &msg->payload, ch->key);
dev_dbg(xpc_chan, "ch->func() returned, msg=0x%p, " dev_dbg(xpc_chan, "ch->func() returned, msg=0x%p, "
......
...@@ -315,13 +315,13 @@ xpc_initiate_discovery(void *ignore) ...@@ -315,13 +315,13 @@ xpc_initiate_discovery(void *ignore)
* the XPC per partition variables from the remote partition and waiting for * the XPC per partition variables from the remote partition and waiting for
* the remote partition to pull ours. * the remote partition to pull ours.
*/ */
static enum xpc_retval static enum xp_retval
xpc_make_first_contact(struct xpc_partition *part) xpc_make_first_contact(struct xpc_partition *part)
{ {
enum xpc_retval ret; enum xp_retval ret;
while ((ret = xpc_pull_remote_vars_part(part)) != xpcSuccess) { while ((ret = xpc_pull_remote_vars_part(part)) != xpSuccess) {
if (ret != xpcRetry) { if (ret != xpRetry) {
XPC_DEACTIVATE_PARTITION(part, ret); XPC_DEACTIVATE_PARTITION(part, ret);
return ret; return ret;
} }
...@@ -406,7 +406,7 @@ xpc_partition_up(struct xpc_partition *part) ...@@ -406,7 +406,7 @@ xpc_partition_up(struct xpc_partition *part)
dev_dbg(xpc_chan, "activating partition %d\n", XPC_PARTID(part)); dev_dbg(xpc_chan, "activating partition %d\n", XPC_PARTID(part));
if (xpc_setup_infrastructure(part) != xpcSuccess) if (xpc_setup_infrastructure(part) != xpSuccess)
return; return;
/* /*
...@@ -418,7 +418,7 @@ xpc_partition_up(struct xpc_partition *part) ...@@ -418,7 +418,7 @@ xpc_partition_up(struct xpc_partition *part)
(void)xpc_part_ref(part); /* this will always succeed */ (void)xpc_part_ref(part); /* this will always succeed */
if (xpc_make_first_contact(part) == xpcSuccess) if (xpc_make_first_contact(part) == xpSuccess)
xpc_channel_mgr(part); xpc_channel_mgr(part);
xpc_part_deref(part); xpc_part_deref(part);
...@@ -470,7 +470,7 @@ xpc_activating(void *__partid) ...@@ -470,7 +470,7 @@ xpc_activating(void *__partid)
spin_lock_irqsave(&part->act_lock, irq_flags); spin_lock_irqsave(&part->act_lock, irq_flags);
part->act_state = XPC_P_INACTIVE; part->act_state = XPC_P_INACTIVE;
XPC_SET_REASON(part, xpcPhysAddrRegFailed, __LINE__); XPC_SET_REASON(part, xpPhysAddrRegFailed, __LINE__);
spin_unlock_irqrestore(&part->act_lock, irq_flags); spin_unlock_irqrestore(&part->act_lock, irq_flags);
part->remote_rp_pa = 0; part->remote_rp_pa = 0;
return 0; return 0;
...@@ -488,7 +488,7 @@ xpc_activating(void *__partid) ...@@ -488,7 +488,7 @@ xpc_activating(void *__partid)
xpc_disallow_hb(partid, xpc_vars); xpc_disallow_hb(partid, xpc_vars);
xpc_mark_partition_inactive(part); xpc_mark_partition_inactive(part);
if (part->reason == xpcReactivating) { if (part->reason == xpReactivating) {
/* interrupting ourselves results in activating partition */ /* interrupting ourselves results in activating partition */
xpc_IPI_send_reactivate(part); xpc_IPI_send_reactivate(part);
} }
...@@ -508,7 +508,7 @@ xpc_activate_partition(struct xpc_partition *part) ...@@ -508,7 +508,7 @@ xpc_activate_partition(struct xpc_partition *part)
DBUG_ON(part->act_state != XPC_P_INACTIVE); DBUG_ON(part->act_state != XPC_P_INACTIVE);
part->act_state = XPC_P_ACTIVATION_REQ; part->act_state = XPC_P_ACTIVATION_REQ;
XPC_SET_REASON(part, xpcCloneKThread, __LINE__); XPC_SET_REASON(part, xpCloneKThread, __LINE__);
spin_unlock_irqrestore(&part->act_lock, irq_flags); spin_unlock_irqrestore(&part->act_lock, irq_flags);
...@@ -517,7 +517,7 @@ xpc_activate_partition(struct xpc_partition *part) ...@@ -517,7 +517,7 @@ xpc_activate_partition(struct xpc_partition *part)
if (IS_ERR(kthread)) { if (IS_ERR(kthread)) {
spin_lock_irqsave(&part->act_lock, irq_flags); spin_lock_irqsave(&part->act_lock, irq_flags);
part->act_state = XPC_P_INACTIVE; part->act_state = XPC_P_INACTIVE;
XPC_SET_REASON(part, xpcCloneKThreadFailed, __LINE__); XPC_SET_REASON(part, xpCloneKThreadFailed, __LINE__);
spin_unlock_irqrestore(&part->act_lock, irq_flags); spin_unlock_irqrestore(&part->act_lock, irq_flags);
} }
} }
...@@ -696,7 +696,7 @@ xpc_kthread_start(void *args) ...@@ -696,7 +696,7 @@ xpc_kthread_start(void *args)
ch->flags |= XPC_C_DISCONNECTINGCALLOUT; ch->flags |= XPC_C_DISCONNECTINGCALLOUT;
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
xpc_disconnect_callout(ch, xpcDisconnecting); xpc_disconnect_callout(ch, xpDisconnecting);
spin_lock_irqsave(&ch->lock, irq_flags); spin_lock_irqsave(&ch->lock, irq_flags);
ch->flags |= XPC_C_DISCONNECTINGCALLOUT_MADE; ch->flags |= XPC_C_DISCONNECTINGCALLOUT_MADE;
...@@ -776,7 +776,7 @@ xpc_create_kthreads(struct xpc_channel *ch, int needed, ...@@ -776,7 +776,7 @@ xpc_create_kthreads(struct xpc_channel *ch, int needed,
* then we'll deadlock if all other kthreads assigned * then we'll deadlock if all other kthreads assigned
* to this channel are blocked in the channel's * to this channel are blocked in the channel's
* registerer, because the only thing that will unblock * registerer, because the only thing that will unblock
* them is the xpcDisconnecting callout that this * them is the xpDisconnecting callout that this
* failed kthread_run() would have made. * failed kthread_run() would have made.
*/ */
...@@ -796,7 +796,7 @@ xpc_create_kthreads(struct xpc_channel *ch, int needed, ...@@ -796,7 +796,7 @@ xpc_create_kthreads(struct xpc_channel *ch, int needed,
* to function. * to function.
*/ */
spin_lock_irqsave(&ch->lock, irq_flags); spin_lock_irqsave(&ch->lock, irq_flags);
XPC_DISCONNECT_CHANNEL(ch, xpcLackOfResources, XPC_DISCONNECT_CHANNEL(ch, xpLackOfResources,
&irq_flags); &irq_flags);
spin_unlock_irqrestore(&ch->lock, irq_flags); spin_unlock_irqrestore(&ch->lock, irq_flags);
} }
...@@ -857,7 +857,7 @@ xpc_disconnect_wait(int ch_number) ...@@ -857,7 +857,7 @@ xpc_disconnect_wait(int ch_number)
} }
static void static void
xpc_do_exit(enum xpc_retval reason) xpc_do_exit(enum xp_retval reason)
{ {
partid_t partid; partid_t partid;
int active_part_count, printed_waiting_msg = 0; int active_part_count, printed_waiting_msg = 0;
...@@ -955,7 +955,7 @@ xpc_do_exit(enum xpc_retval reason) ...@@ -955,7 +955,7 @@ xpc_do_exit(enum xpc_retval reason)
del_timer_sync(&xpc_hb_timer); del_timer_sync(&xpc_hb_timer);
DBUG_ON(xpc_vars->heartbeating_to_mask != 0); DBUG_ON(xpc_vars->heartbeating_to_mask != 0);
if (reason == xpcUnloading) { if (reason == xpUnloading) {
/* take ourselves off of the reboot_notifier_list */ /* take ourselves off of the reboot_notifier_list */
(void)unregister_reboot_notifier(&xpc_reboot_notifier); (void)unregister_reboot_notifier(&xpc_reboot_notifier);
...@@ -981,20 +981,20 @@ xpc_do_exit(enum xpc_retval reason) ...@@ -981,20 +981,20 @@ xpc_do_exit(enum xpc_retval reason)
static int static int
xpc_system_reboot(struct notifier_block *nb, unsigned long event, void *unused) xpc_system_reboot(struct notifier_block *nb, unsigned long event, void *unused)
{ {
enum xpc_retval reason; enum xp_retval reason;
switch (event) { switch (event) {
case SYS_RESTART: case SYS_RESTART:
reason = xpcSystemReboot; reason = xpSystemReboot;
break; break;
case SYS_HALT: case SYS_HALT:
reason = xpcSystemHalt; reason = xpSystemHalt;
break; break;
case SYS_POWER_OFF: case SYS_POWER_OFF:
reason = xpcSystemPoweroff; reason = xpSystemPoweroff;
break; break;
default: default:
reason = xpcSystemGoingDown; reason = xpSystemGoingDown;
} }
xpc_do_exit(reason); xpc_do_exit(reason);
...@@ -1279,7 +1279,7 @@ xpc_init(void) ...@@ -1279,7 +1279,7 @@ xpc_init(void)
/* mark this new thread as a non-starter */ /* mark this new thread as a non-starter */
complete(&xpc_discovery_exited); complete(&xpc_discovery_exited);
xpc_do_exit(xpcUnloading); xpc_do_exit(xpUnloading);
return -EBUSY; return -EBUSY;
} }
...@@ -1297,7 +1297,7 @@ module_init(xpc_init); ...@@ -1297,7 +1297,7 @@ module_init(xpc_init);
void __exit void __exit
xpc_exit(void) xpc_exit(void)
{ {
xpc_do_exit(xpcUnloading); xpc_do_exit(xpUnloading);
} }
module_exit(xpc_exit); module_exit(xpc_exit);
......
...@@ -444,7 +444,7 @@ xpc_check_remote_hb(void) ...@@ -444,7 +444,7 @@ xpc_check_remote_hb(void)
(remote_vars->heartbeat_offline == 0)) || (remote_vars->heartbeat_offline == 0)) ||
!xpc_hb_allowed(sn_partition_id, remote_vars)) { !xpc_hb_allowed(sn_partition_id, remote_vars)) {
XPC_DEACTIVATE_PARTITION(part, xpcNoHeartbeat); XPC_DEACTIVATE_PARTITION(part, xpNoHeartbeat);
continue; continue;
} }
...@@ -459,7 +459,7 @@ xpc_check_remote_hb(void) ...@@ -459,7 +459,7 @@ xpc_check_remote_hb(void)
* is large enough to contain a copy of their reserved page header and * is large enough to contain a copy of their reserved page header and
* part_nasids mask. * part_nasids mask.
*/ */
static enum xpc_retval static enum xp_retval
xpc_get_remote_rp(int nasid, u64 *discovered_nasids, xpc_get_remote_rp(int nasid, u64 *discovered_nasids,
struct xpc_rsvd_page *remote_rp, u64 *remote_rp_pa) struct xpc_rsvd_page *remote_rp, u64 *remote_rp_pa)
{ {
...@@ -469,7 +469,7 @@ xpc_get_remote_rp(int nasid, u64 *discovered_nasids, ...@@ -469,7 +469,7 @@ xpc_get_remote_rp(int nasid, u64 *discovered_nasids,
*remote_rp_pa = xpc_get_rsvd_page_pa(nasid); *remote_rp_pa = xpc_get_rsvd_page_pa(nasid);
if (*remote_rp_pa == 0) if (*remote_rp_pa == 0)
return xpcNoRsvdPageAddr; return xpNoRsvdPageAddr;
/* pull over the reserved page header and part_nasids mask */ /* pull over the reserved page header and part_nasids mask */
bres = xp_bte_copy(*remote_rp_pa, (u64)remote_rp, bres = xp_bte_copy(*remote_rp_pa, (u64)remote_rp,
...@@ -489,18 +489,18 @@ xpc_get_remote_rp(int nasid, u64 *discovered_nasids, ...@@ -489,18 +489,18 @@ xpc_get_remote_rp(int nasid, u64 *discovered_nasids,
if (remote_rp->partid < 1 || if (remote_rp->partid < 1 ||
remote_rp->partid > (XP_MAX_PARTITIONS - 1)) { remote_rp->partid > (XP_MAX_PARTITIONS - 1)) {
return xpcInvalidPartid; return xpInvalidPartid;
} }
if (remote_rp->partid == sn_partition_id) if (remote_rp->partid == sn_partition_id)
return xpcLocalPartid; return xpLocalPartid;
if (XPC_VERSION_MAJOR(remote_rp->version) != if (XPC_VERSION_MAJOR(remote_rp->version) !=
XPC_VERSION_MAJOR(XPC_RP_VERSION)) { XPC_VERSION_MAJOR(XPC_RP_VERSION)) {
return xpcBadVersion; return xpBadVersion;
} }
return xpcSuccess; return xpSuccess;
} }
/* /*
...@@ -509,13 +509,13 @@ xpc_get_remote_rp(int nasid, u64 *discovered_nasids, ...@@ -509,13 +509,13 @@ xpc_get_remote_rp(int nasid, u64 *discovered_nasids,
* remote_vars points to a buffer that is cacheline aligned for BTE copies and * remote_vars points to a buffer that is cacheline aligned for BTE copies and
* assumed to be of size XPC_RP_VARS_SIZE. * assumed to be of size XPC_RP_VARS_SIZE.
*/ */
static enum xpc_retval static enum xp_retval
xpc_get_remote_vars(u64 remote_vars_pa, struct xpc_vars *remote_vars) xpc_get_remote_vars(u64 remote_vars_pa, struct xpc_vars *remote_vars)
{ {
int bres; int bres;
if (remote_vars_pa == 0) if (remote_vars_pa == 0)
return xpcVarsNotSet; return xpVarsNotSet;
/* pull over the cross partition variables */ /* pull over the cross partition variables */
bres = xp_bte_copy(remote_vars_pa, (u64)remote_vars, XPC_RP_VARS_SIZE, bres = xp_bte_copy(remote_vars_pa, (u64)remote_vars, XPC_RP_VARS_SIZE,
...@@ -525,10 +525,10 @@ xpc_get_remote_vars(u64 remote_vars_pa, struct xpc_vars *remote_vars) ...@@ -525,10 +525,10 @@ xpc_get_remote_vars(u64 remote_vars_pa, struct xpc_vars *remote_vars)
if (XPC_VERSION_MAJOR(remote_vars->version) != if (XPC_VERSION_MAJOR(remote_vars->version) !=
XPC_VERSION_MAJOR(XPC_V_VERSION)) { XPC_VERSION_MAJOR(XPC_V_VERSION)) {
return xpcBadVersion; return xpBadVersion;
} }
return xpcSuccess; return xpSuccess;
} }
/* /*
...@@ -606,14 +606,14 @@ xpc_identify_act_IRQ_req(int nasid) ...@@ -606,14 +606,14 @@ xpc_identify_act_IRQ_req(int nasid)
struct timespec remote_rp_stamp = { 0, 0 }; struct timespec remote_rp_stamp = { 0, 0 };
partid_t partid; partid_t partid;
struct xpc_partition *part; struct xpc_partition *part;
enum xpc_retval ret; enum xp_retval ret;
/* pull over the reserved page structure */ /* pull over the reserved page structure */
remote_rp = (struct xpc_rsvd_page *)xpc_remote_copy_buffer; remote_rp = (struct xpc_rsvd_page *)xpc_remote_copy_buffer;
ret = xpc_get_remote_rp(nasid, NULL, remote_rp, &remote_rp_pa); ret = xpc_get_remote_rp(nasid, NULL, remote_rp, &remote_rp_pa);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
dev_warn(xpc_part, "unable to get reserved page from nasid %d, " dev_warn(xpc_part, "unable to get reserved page from nasid %d, "
"which sent interrupt, reason=%d\n", nasid, ret); "which sent interrupt, reason=%d\n", nasid, ret);
return; return;
...@@ -632,7 +632,7 @@ xpc_identify_act_IRQ_req(int nasid) ...@@ -632,7 +632,7 @@ xpc_identify_act_IRQ_req(int nasid)
remote_vars = (struct xpc_vars *)xpc_remote_copy_buffer; remote_vars = (struct xpc_vars *)xpc_remote_copy_buffer;
ret = xpc_get_remote_vars(remote_vars_pa, remote_vars); ret = xpc_get_remote_vars(remote_vars_pa, remote_vars);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
dev_warn(xpc_part, "unable to get XPC variables from nasid %d, " dev_warn(xpc_part, "unable to get XPC variables from nasid %d, "
"which sent interrupt, reason=%d\n", nasid, ret); "which sent interrupt, reason=%d\n", nasid, ret);
...@@ -699,7 +699,7 @@ xpc_identify_act_IRQ_req(int nasid) ...@@ -699,7 +699,7 @@ xpc_identify_act_IRQ_req(int nasid)
&remote_rp_stamp, remote_rp_pa, &remote_rp_stamp, remote_rp_pa,
remote_vars_pa, remote_vars); remote_vars_pa, remote_vars);
part->reactivate_nasid = nasid; part->reactivate_nasid = nasid;
XPC_DEACTIVATE_PARTITION(part, xpcReactivating); XPC_DEACTIVATE_PARTITION(part, xpReactivating);
return; return;
} }
...@@ -754,11 +754,11 @@ xpc_identify_act_IRQ_req(int nasid) ...@@ -754,11 +754,11 @@ xpc_identify_act_IRQ_req(int nasid)
if (reactivate) { if (reactivate) {
part->reactivate_nasid = nasid; part->reactivate_nasid = nasid;
XPC_DEACTIVATE_PARTITION(part, xpcReactivating); XPC_DEACTIVATE_PARTITION(part, xpReactivating);
} else if (XPC_SUPPORTS_DISENGAGE_REQUEST(part->remote_vars_version) && } else if (XPC_SUPPORTS_DISENGAGE_REQUEST(part->remote_vars_version) &&
xpc_partition_disengage_requested(1UL << partid)) { xpc_partition_disengage_requested(1UL << partid)) {
XPC_DEACTIVATE_PARTITION(part, xpcOtherGoingDown); XPC_DEACTIVATE_PARTITION(part, xpOtherGoingDown);
} }
} }
...@@ -870,20 +870,20 @@ xpc_partition_disengaged(struct xpc_partition *part) ...@@ -870,20 +870,20 @@ xpc_partition_disengaged(struct xpc_partition *part)
/* /*
* Mark specified partition as active. * Mark specified partition as active.
*/ */
enum xpc_retval enum xp_retval
xpc_mark_partition_active(struct xpc_partition *part) xpc_mark_partition_active(struct xpc_partition *part)
{ {
unsigned long irq_flags; unsigned long irq_flags;
enum xpc_retval ret; enum xp_retval ret;
dev_dbg(xpc_part, "setting partition %d to ACTIVE\n", XPC_PARTID(part)); dev_dbg(xpc_part, "setting partition %d to ACTIVE\n", XPC_PARTID(part));
spin_lock_irqsave(&part->act_lock, irq_flags); spin_lock_irqsave(&part->act_lock, irq_flags);
if (part->act_state == XPC_P_ACTIVATING) { if (part->act_state == XPC_P_ACTIVATING) {
part->act_state = XPC_P_ACTIVE; part->act_state = XPC_P_ACTIVE;
ret = xpcSuccess; ret = xpSuccess;
} else { } else {
DBUG_ON(part->reason == xpcSuccess); DBUG_ON(part->reason == xpSuccess);
ret = part->reason; ret = part->reason;
} }
spin_unlock_irqrestore(&part->act_lock, irq_flags); spin_unlock_irqrestore(&part->act_lock, irq_flags);
...@@ -896,7 +896,7 @@ xpc_mark_partition_active(struct xpc_partition *part) ...@@ -896,7 +896,7 @@ xpc_mark_partition_active(struct xpc_partition *part)
*/ */
void void
xpc_deactivate_partition(const int line, struct xpc_partition *part, xpc_deactivate_partition(const int line, struct xpc_partition *part,
enum xpc_retval reason) enum xp_retval reason)
{ {
unsigned long irq_flags; unsigned long irq_flags;
...@@ -905,15 +905,15 @@ xpc_deactivate_partition(const int line, struct xpc_partition *part, ...@@ -905,15 +905,15 @@ xpc_deactivate_partition(const int line, struct xpc_partition *part,
if (part->act_state == XPC_P_INACTIVE) { if (part->act_state == XPC_P_INACTIVE) {
XPC_SET_REASON(part, reason, line); XPC_SET_REASON(part, reason, line);
spin_unlock_irqrestore(&part->act_lock, irq_flags); spin_unlock_irqrestore(&part->act_lock, irq_flags);
if (reason == xpcReactivating) { if (reason == xpReactivating) {
/* we interrupt ourselves to reactivate partition */ /* we interrupt ourselves to reactivate partition */
xpc_IPI_send_reactivate(part); xpc_IPI_send_reactivate(part);
} }
return; return;
} }
if (part->act_state == XPC_P_DEACTIVATING) { if (part->act_state == XPC_P_DEACTIVATING) {
if ((part->reason == xpcUnloading && reason != xpcUnloading) || if ((part->reason == xpUnloading && reason != xpUnloading) ||
reason == xpcReactivating) { reason == xpReactivating) {
XPC_SET_REASON(part, reason, line); XPC_SET_REASON(part, reason, line);
} }
spin_unlock_irqrestore(&part->act_lock, irq_flags); spin_unlock_irqrestore(&part->act_lock, irq_flags);
...@@ -985,7 +985,7 @@ xpc_discovery(void) ...@@ -985,7 +985,7 @@ xpc_discovery(void)
partid_t partid; partid_t partid;
struct xpc_partition *part; struct xpc_partition *part;
u64 *discovered_nasids; u64 *discovered_nasids;
enum xpc_retval ret; enum xp_retval ret;
remote_rp = xpc_kmalloc_cacheline_aligned(XPC_RP_HEADER_SIZE + remote_rp = xpc_kmalloc_cacheline_aligned(XPC_RP_HEADER_SIZE +
xp_nasid_mask_bytes, xp_nasid_mask_bytes,
...@@ -1063,12 +1063,12 @@ xpc_discovery(void) ...@@ -1063,12 +1063,12 @@ xpc_discovery(void)
ret = xpc_get_remote_rp(nasid, discovered_nasids, ret = xpc_get_remote_rp(nasid, discovered_nasids,
remote_rp, &remote_rp_pa); remote_rp, &remote_rp_pa);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
dev_dbg(xpc_part, "unable to get reserved page " dev_dbg(xpc_part, "unable to get reserved page "
"from nasid %d, reason=%d\n", nasid, "from nasid %d, reason=%d\n", nasid,
ret); ret);
if (ret == xpcLocalPartid) if (ret == xpLocalPartid)
break; break;
continue; continue;
...@@ -1082,7 +1082,7 @@ xpc_discovery(void) ...@@ -1082,7 +1082,7 @@ xpc_discovery(void)
/* pull over the cross partition variables */ /* pull over the cross partition variables */
ret = xpc_get_remote_vars(remote_vars_pa, remote_vars); ret = xpc_get_remote_vars(remote_vars_pa, remote_vars);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
dev_dbg(xpc_part, "unable to get XPC variables " dev_dbg(xpc_part, "unable to get XPC variables "
"from nasid %d, reason=%d\n", nasid, "from nasid %d, reason=%d\n", nasid,
ret); ret);
...@@ -1116,7 +1116,7 @@ xpc_discovery(void) ...@@ -1116,7 +1116,7 @@ xpc_discovery(void)
"register xp_addr region 0x%016lx\n", "register xp_addr region 0x%016lx\n",
partid, remote_vars->amos_page_pa); partid, remote_vars->amos_page_pa);
XPC_SET_REASON(part, xpcPhysAddrRegFailed, XPC_SET_REASON(part, xpPhysAddrRegFailed,
__LINE__); __LINE__);
break; break;
} }
...@@ -1151,7 +1151,7 @@ xpc_discovery(void) ...@@ -1151,7 +1151,7 @@ xpc_discovery(void)
* Given a partid, get the nasids owned by that partition from the * Given a partid, get the nasids owned by that partition from the
* remote partition's reserved page. * remote partition's reserved page.
*/ */
enum xpc_retval enum xp_retval
xpc_initiate_partid_to_nasids(partid_t partid, void *nasid_mask) xpc_initiate_partid_to_nasids(partid_t partid, void *nasid_mask)
{ {
struct xpc_partition *part; struct xpc_partition *part;
...@@ -1160,7 +1160,7 @@ xpc_initiate_partid_to_nasids(partid_t partid, void *nasid_mask) ...@@ -1160,7 +1160,7 @@ xpc_initiate_partid_to_nasids(partid_t partid, void *nasid_mask)
part = &xpc_partitions[partid]; part = &xpc_partitions[partid];
if (part->remote_rp_pa == 0) if (part->remote_rp_pa == 0)
return xpcPartitionDown; return xpPartitionDown;
memset(nasid_mask, 0, XP_NASID_MASK_BYTES); memset(nasid_mask, 0, XP_NASID_MASK_BYTES);
......
...@@ -282,7 +282,7 @@ xpnet_receive(partid_t partid, int channel, struct xpnet_message *msg) ...@@ -282,7 +282,7 @@ xpnet_receive(partid_t partid, int channel, struct xpnet_message *msg)
* state or message reception on a connection. * state or message reception on a connection.
*/ */
static void static void
xpnet_connection_activity(enum xpc_retval reason, partid_t partid, int channel, xpnet_connection_activity(enum xp_retval reason, partid_t partid, int channel,
void *data, void *key) void *data, void *key)
{ {
long bp; long bp;
...@@ -291,13 +291,13 @@ xpnet_connection_activity(enum xpc_retval reason, partid_t partid, int channel, ...@@ -291,13 +291,13 @@ xpnet_connection_activity(enum xpc_retval reason, partid_t partid, int channel,
DBUG_ON(channel != XPC_NET_CHANNEL); DBUG_ON(channel != XPC_NET_CHANNEL);
switch (reason) { switch (reason) {
case xpcMsgReceived: /* message received */ case xpMsgReceived: /* message received */
DBUG_ON(data == NULL); DBUG_ON(data == NULL);
xpnet_receive(partid, channel, (struct xpnet_message *)data); xpnet_receive(partid, channel, (struct xpnet_message *)data);
break; break;
case xpcConnected: /* connection completed to a partition */ case xpConnected: /* connection completed to a partition */
spin_lock_bh(&xpnet_broadcast_lock); spin_lock_bh(&xpnet_broadcast_lock);
xpnet_broadcast_partitions |= 1UL << (partid - 1); xpnet_broadcast_partitions |= 1UL << (partid - 1);
bp = xpnet_broadcast_partitions; bp = xpnet_broadcast_partitions;
...@@ -330,7 +330,7 @@ xpnet_connection_activity(enum xpc_retval reason, partid_t partid, int channel, ...@@ -330,7 +330,7 @@ xpnet_connection_activity(enum xpc_retval reason, partid_t partid, int channel,
static int static int
xpnet_dev_open(struct net_device *dev) xpnet_dev_open(struct net_device *dev)
{ {
enum xpc_retval ret; enum xp_retval ret;
dev_dbg(xpnet, "calling xpc_connect(%d, 0x%p, NULL, %ld, %ld, %ld, " dev_dbg(xpnet, "calling xpc_connect(%d, 0x%p, NULL, %ld, %ld, %ld, "
"%ld)\n", XPC_NET_CHANNEL, xpnet_connection_activity, "%ld)\n", XPC_NET_CHANNEL, xpnet_connection_activity,
...@@ -340,7 +340,7 @@ xpnet_dev_open(struct net_device *dev) ...@@ -340,7 +340,7 @@ xpnet_dev_open(struct net_device *dev)
ret = xpc_connect(XPC_NET_CHANNEL, xpnet_connection_activity, NULL, ret = xpc_connect(XPC_NET_CHANNEL, xpnet_connection_activity, NULL,
XPNET_MSG_SIZE, XPNET_MSG_NENTRIES, XPNET_MSG_SIZE, XPNET_MSG_NENTRIES,
XPNET_MAX_KTHREADS, XPNET_MAX_IDLE_KTHREADS); XPNET_MAX_KTHREADS, XPNET_MAX_IDLE_KTHREADS);
if (ret != xpcSuccess) { if (ret != xpSuccess) {
dev_err(xpnet, "ifconfig up of %s failed on XPC connect, " dev_err(xpnet, "ifconfig up of %s failed on XPC connect, "
"ret=%d\n", dev->name, ret); "ret=%d\n", dev->name, ret);
...@@ -407,7 +407,7 @@ xpnet_dev_get_stats(struct net_device *dev) ...@@ -407,7 +407,7 @@ xpnet_dev_get_stats(struct net_device *dev)
* release the skb and then release our pending message structure. * release the skb and then release our pending message structure.
*/ */
static void static void
xpnet_send_completed(enum xpc_retval reason, partid_t partid, int channel, xpnet_send_completed(enum xp_retval reason, partid_t partid, int channel,
void *__qm) void *__qm)
{ {
struct xpnet_pending_msg *queued_msg = (struct xpnet_pending_msg *)__qm; struct xpnet_pending_msg *queued_msg = (struct xpnet_pending_msg *)__qm;
...@@ -439,7 +439,7 @@ static int ...@@ -439,7 +439,7 @@ static int
xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
{ {
struct xpnet_pending_msg *queued_msg; struct xpnet_pending_msg *queued_msg;
enum xpc_retval ret; enum xp_retval ret;
struct xpnet_message *msg; struct xpnet_message *msg;
u64 start_addr, end_addr; u64 start_addr, end_addr;
long dp; long dp;
...@@ -528,7 +528,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -528,7 +528,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
ret = xpc_allocate(dest_partid, XPC_NET_CHANNEL, ret = xpc_allocate(dest_partid, XPC_NET_CHANNEL,
XPC_NOWAIT, (void **)&msg); XPC_NOWAIT, (void **)&msg);
if (unlikely(ret != xpcSuccess)) if (unlikely(ret != xpSuccess))
continue; continue;
msg->embedded_bytes = embedded_bytes; msg->embedded_bytes = embedded_bytes;
...@@ -557,7 +557,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -557,7 +557,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
ret = xpc_send_notify(dest_partid, XPC_NET_CHANNEL, msg, ret = xpc_send_notify(dest_partid, XPC_NET_CHANNEL, msg,
xpnet_send_completed, queued_msg); xpnet_send_completed, queued_msg);
if (unlikely(ret != xpcSuccess)) { if (unlikely(ret != xpSuccess)) {
atomic_dec(&queued_msg->use_count); atomic_dec(&queued_msg->use_count);
continue; continue;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册