18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef S390_CIO_IOASM_H 38c2ecf20Sopenharmony_ci#define S390_CIO_IOASM_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <asm/chpid.h> 68c2ecf20Sopenharmony_ci#include <asm/schid.h> 78c2ecf20Sopenharmony_ci#include <asm/crw.h> 88c2ecf20Sopenharmony_ci#include "orb.h" 98c2ecf20Sopenharmony_ci#include "cio.h" 108c2ecf20Sopenharmony_ci#include "trace.h" 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci/* 138c2ecf20Sopenharmony_ci * Some S390 specific IO instructions 148c2ecf20Sopenharmony_ci */ 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciint stsch(struct subchannel_id schid, struct schib *addr); 178c2ecf20Sopenharmony_ciint msch(struct subchannel_id schid, struct schib *addr); 188c2ecf20Sopenharmony_ciint tsch(struct subchannel_id schid, struct irb *addr); 198c2ecf20Sopenharmony_ciint ssch(struct subchannel_id schid, union orb *addr); 208c2ecf20Sopenharmony_ciint csch(struct subchannel_id schid); 218c2ecf20Sopenharmony_ciint tpi(struct tpi_info *addr); 228c2ecf20Sopenharmony_ciint chsc(void *chsc_area); 238c2ecf20Sopenharmony_ciint rsch(struct subchannel_id schid); 248c2ecf20Sopenharmony_ciint hsch(struct subchannel_id schid); 258c2ecf20Sopenharmony_ciint xsch(struct subchannel_id schid); 268c2ecf20Sopenharmony_ciint stcrw(struct crw *crw); 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci#endif 29